首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

关于DataGridViewComboBoxCell修改后交付数据源

2013-09-15 
关于DataGridViewComboBoxCell修改后提交数据源最近在项目遇到一个功能实现。是在DataGridView中DataGridVi

关于DataGridViewComboBoxCell修改后提交数据源

最近在项目遇到一个功能实现。是在DataGridView中DataGridViewComboboxColumn列绑定数据源,

DisplayMember为数据表的Name列,ValueMember是数据表的ID列。

需求是希望对DataGridView的ComboBoxCell进行编辑,添加新的选项并更新数据源及数据绑定。

1.使DataGridViewComboBoxCell进入编辑状态,这个很简单。做法如下:
注册DataGridView的EditingControlShowing事件,代码如下:

dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = valueStr;

当前Cell的数据会发生改变,但是当EditControl(Combobox)随后提交数据时,

因为EditControl(Combobox)的数据没有改变,那么当前Cell的数据还会改为
EditControl(Combobox)的数据,也即当前Cell的原始数据没有改变。

这样就会使你更新DataGridViewComboBoxColumn数据源后,DataGridView当前Cell的值不是你预期的填写的数据项。

而我们直接更改EditControl(Combobox)的数据后,EditControl(Combobox)提交更改为你预期的填写的数据。

所以我们要更改EditControl(Combobox)的数据而不是当前Cell的Value。


热点排行