刚开始的时候,就按照正常的操作,给gridview设置属性,添加了repositoryItemcombox,然后呢,出现了一个神奇的现象
就是在前一列内容选择完成后单击,然后第一列内容莫名其妙的一闪而过,但是第二列的值已经检索出来了,而且第二列的值不会闪过。
原因:在给第二列的repositoryItemcombox.items赋值的时候,会进行再一次的控件的整体初始化,然后我的解决办法始,先保存选定的值,然后待初始化完后,再对该单元格进行重新赋值。
代码如下:
private void repositoryItemComboBox2_EditValueChanged(object sender, EventArgs e)
{
DBhelper dBhelper = new DBhelper();
BaseEdit logicEdit = dcyx_gridview.ActiveEditor;//获取活动的单元格
string JIE = logicEdit.EditValue.ToString();
List<string> list = dBhelper.query(JIE);
repositoryItemComboBox1.Items.Clear();
foreach (var v in list)
{
repositoryItemComboBox1.Items.Add(v);
}
this.dcyx_gridview.SetRowCellValue(this.dcyx_gridview.GetSelectedRows()[0],"JIE",JIE);//这里是关键
list.Clear();
}