日期:2014-05-20  浏览次数:20801 次

DataGridViewComboBoxColumn应用问题??
DataGridViewComboBoxColumn   tbc   =   new   DataGridViewComboBoxColumn();
tbc.DataSource   =   dt;
tbc.DisplayMember   =   "性别 ";
tbc.ValueMember   =   "性别 ";    
tbc.DataPropertyName   =   "性别 ";
tbc.HeaderText   =   "性别 ";
tbc.FlatStyle   =   FlatStyle.System;
dataGridView1.Columns.AddRange(tbc)

上面的代码我实现了数据和CobboBox的绑定。items和datasource   又不可同用。
用items方法时
DataGridViewComboBoxColumn   tbc   =   new   DataGridViewComboBoxColumn();
tbc.Items.AddRange(new   string[]   { "男 ", "女 "});
tbc.DataPropertyName   =   "性别 ";
tbc.HeaderText   =   "性别 ";
tbc.FlatStyle   =   FlatStyle.System;
dataGridView1.Columns.AddRange(tbc)
是实现在列表,没有记录就运行正常,有记录就会出错(DataGridViewComboBoxColl   值无效,要替换默认对话框)。

不知道上面我说清楚没。呵。。
请指点一下我DataGridViewComboBoxColumn到底要如何应用??上面的代码如何改动??或给一个新的列子看看。(麻烦了,谢谢)


------解决方案--------------------
建一个保存性别的代码表不可以吗?然后将这个表绑定到它的Datasoure属性
------解决方案--------------------
ITEMS.ADD()方法,调用两次
一次加男,一次加女
你的ADDRANGE方法可能有不对的地方,
------解决方案--------------------
temptable.Columns.Add(new DataColumn( "性别 ",typeof(string)));
....
cb.DataPropertyName = "性别 ";
cb.DisplayMember = "性别 ";
cb.ValueMember = "性别 ";
cb.HeaderText = "性别 ";