DataGridViewComboBoxColumn绑定数据 DataGridViewComboBoxColumn绑定数据后,如何默认选择一个item? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lz:完整解决办法如下: 数据绑定并不代表已经对单元格进行赋值,其实只是对DataGridViewComboBoxColumn.Items进行填充而已,而DataGridViewComboBoxCell.Value 此时并没有值(它不同于DataGridViewTextBoxCell ),所以,不管怎样,都须要对此单元格进行人为赋值。 在绑定数据之后,调用如下代码即可: /// <summary> /// 设置单元格值 /// </summary> /// <param name="columnIndex">列索引</param> private void SetCellValue(int columnIndex) { int i = 0; //行索引 int j = 0; //根据行索引得到combex的子项item索引 int count = dataGridView1.Rows.Count; DataGridViewRow dgr = null; DataGridViewComboBoxCell dgc = null; try { for(i=0;i<count;i++) { dgr = dataGridView1.Rows[i]; dgc = (DataGridViewComboBoxCell)dgr.Cells[columnIndex]; switch (i) //根据实际需要,由行得出items子项索引 { case 0: j = 1; break; case 1: j = 0; break; 。。 default: break; } dgc.Value = dgc.Items[j];//对单元格进行赋值 } } catch (Exception ex) { MessageBox.Show(ex.Message); } } 因为这些Combobox都是动态创建的,所以可以在创建的时候指定,即GridView的ContentCreat事件里边去,判断当前是不是创建的Combobox,如果是,则强制转换一下,并且指定默认item. sdl2005lyx() 不行,报错System.FormatException:DataGridViewComboBoxCell值无效 热烈祝贺ASP.NET群7947148成立了。 先判断Items里面的ValueMember的数据类型,然后直接付值 lz:你那列不是DataGridViewComboBoxColumn类型的吗,怎么会无效呢?我告诉你的办法有一个前提:你已经绑定了数据,如果是这样,是没问题的,你可以在试试.还有一个疑问:ld所说的,真的行吗???? chkff_01() 先判断Items里面的ValueMember的数据类型,然后直接付值如何做?具体点.. treeView 指定节点下完成增加,删除,修改 版本转换错误,请高手明示,谢谢!! 有关C#中的动态计时??? .net2.0没有数据窗体向导吗? FileStream分步读取的问题,一直想不明白是为什么? waveOutWrite 如何实现声音的快放 慢放 Remoting 无法获取ObjectType 在线等, C# 怎么用字符方式打印? 请大神讲解如何将特殊的数据行转列后放在gridview中显示(数据库是oracle) 哪有vs.net下载,100分只要能下马上给 两个窗口之间的控件怎样传值 C#.net WEB2005开发代码中获取dropdownlist在网页中的位置坐标。
数据绑定并不代表已经对单元格进行赋值,其实只是对DataGridViewComboBoxColumn.Items进行填充而已,而DataGridViewComboBoxCell.Value 此时并没有值(它不同于DataGridViewTextBoxCell ),所以,不管怎样,都须要对此单元格进行人为赋值。 在绑定数据之后,调用如下代码即可:
/// <summary>
/// 设置单元格值
/// </summary>
/// <param name="columnIndex">列索引</param>
private void SetCellValue(int columnIndex)
{
int i = 0; //行索引
int j = 0; //根据行索引得到combex的子项item索引
int count = dataGridView1.Rows.Count; DataGridViewRow dgr = null;
DataGridViewComboBoxCell dgc = null;
try
{
for(i=0;i<count;i++)
{
dgr = dataGridView1.Rows[i];
dgc = (DataGridViewComboBoxCell)dgr.Cells[columnIndex]; switch (i) //根据实际需要,由行得出items子项索引
{
case 0:
j = 1;
break;
case 1:
j = 0;
break;
。。
default:
break;
}
dgc.Value = dgc.Items[j];//对单元格进行赋值
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
不行,报错
System.FormatException:DataGridViewComboBoxCell值无效
我告诉你的办法有一个前提:你已经绑定了数据,如果是这样,是没问题的,
你可以在试试.还有一个疑问:ld所说的,真的行吗????
先判断Items里面的ValueMember的数据类型,然后直接付值如何做?具体点..