C#对DataGridViewCheckBoxColumn选中行状态更新问题

发布时间:2021-07-20编辑:佚名阅读(3199)

新手在学习对 DataGridViewCheckBoxColumn 操作时,会出现选中行状态没有及时更新的问题(没有打勾)!

当要保存修改过后的内容,必须将光标指向另外一行, DataGridView才会将编辑过后的数据提交到数据缓存区,当操作完DataGridview的时候,又没有移动另一行,在上面的修改有可能还没有提交到数据缓存区,而在winform界面上选中行也没有打勾!

所以在改变DataGridViewCheckBox的value后,我再手动执行DataGridView.EndEdit(),让修改后的内容提交到缓存区,winform界面上选中行得以及时更新状态。

补充:

1.如果DataGridView是可编辑的,将数据提交,否则处于编辑状态的行的状态可能无法取到或者是未提交状态,所以需要EndEdit();

2.dataGridView绑定BindingSource时,在dataGridView执行EndEdit()方法时,BindingSource也需要同时执行EndEdit()方法;要不BindingSource的数据源DataTable中所有DataRow的RowState都会变为Modified状态。

    关键字: C# DataGridViewCheckBoxColumn 选中行 状态 更新 问题


鼓掌

0

正能量

0

0

呵呵

1


评论区