自定义DataGridView的问题

hodgevk 2008-07-04 08:06:05
我现在自定义了一个DataGridViewColumn(继承DataGridViewTextBoxColumn),但是我想让DataGridView绑定数据时自动使用我自定的列,怎么让我的自定列为默认的列呢?
...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
吴青峰 2008-09-11
  • 打赏
  • 举报
回复
private void SetupDataGridViewColumns()
{
//设置datagrid不自动生成列
dgvCustomDoctor.AutoGenerateColumns = false;
//定制ID列
DataGridViewTextBoxColumn idColumn = new DataGridViewTextBoxColumn();
idColumn.HeaderText = "编号";
idColumn.DataPropertyName = "id";//与ID数据成员映射
idColumn.ReadOnly = true;//是否只读
idColumn.Width = 80;//列宽度
//将列添加到DataGridView中
dgvCustomDoctor.Columns.Add(idColumn);

//定制Name列
DataGridViewTextBoxColumn nameColumn = new DataGridViewTextBoxColumn();
nameColumn.HeaderText = "姓名";
nameColumn.DataPropertyName = "name";
nameColumn.Width = 100;
//该列添加到DataGridView
dgvCustomDoctor.Columns.Add(nameColumn);

//定制科室office列
//DataGridViewCheckBoxColumn 复选框列
//DataGridViewImageColumn 图片列
DataGridViewComboBoxColumn officeColum = new DataGridViewComboBoxColumn();
officeColum.DataSource = ds.Tables["office"].DefaultView;
officeColum.DisplayMember = "name";//显示科室名称
officeColum.ValueMember = "id";//科室对应的ID
officeColum.DataPropertyName = "office";
officeColum.ValueType = typeof(string);
officeColum.Width = 150;
//该列添加到DataGridView
dgvCustomDoctor.Columns.Add(officeColum);



}
仔细看一下,希望对你有所帮助n_n
System_Bug 2008-09-11
  • 打赏
  • 举报
回复
等你帮定完了. (可以用事件.他就自己执行) 再取得绑定控件的列.然后把这个列换成你的.自己写的列
wxg22526451 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hodgevk 的回复:]
绑定后怎么设DataGridViewColumn属性呢?
[/Quote]
MS得绑定前先设置好
            DataTable dt = new DataTable();
dt.Columns.Add("test", typeof(string));
DataGridViewColumn tb = new DataGridViewColumn();//这里换成自定义的DataGridViewColumn
tb.Name = "test";
tb.DataPropertyName = "test";//字段
this.dataGridView2.Columns.Add(tb);
dataGridView2.DataSource = dt;
eGarment 2008-09-11
  • 打赏
  • 举报
回复
同样的问题,我也很迷惑,期待高手告诉我们!
qyulang 2008-07-21
  • 打赏
  • 举报
回复
这个我也不懂!
hodgevk 2008-07-04
  • 打赏
  • 举报
回复
绑定后怎么设DataGridViewColumn属性呢?
wocow2316 2008-07-04
  • 打赏
  • 举报
回复
绑定数据后,它就会把你自定义的列给覆盖了
你只能是,先数据绑定,然后在给相应的列设置DataGridViewColumn属性

111,116

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧