Multirow编辑中行的数据变化,用DataSet.GetChanges取不到
本帖最后由 LeoDreaming 于 2019-12-23 15:15 编辑Multirow的A列为显示列B列为隐藏列,当点击执行按钮时候,循环数据条数,通过A列值进行计算后的值,赋给B列。
对于新追加的行的A列(追加后,焦点不移开直接点执行按钮),输入值后,直接点击执行按钮的情况下,DataSet.GetChanges取不到计算后的值。
点击执行后数据如下:
DataSet
A B
1 1
2 2
新追加行3 999999
DataSet.GetChanges A B 1 1 2 2新追加行3
赋值是用Multirow.Row(i).Cells(j).Value = 999999 来完成的,监视Dataset是赋值之后的,
但是DataSet.GetChanges取到的不是想要的数据,不是最新的。
这个问题有解决方法吗
这个问题DataGridView也是一样的,直接UI改值changes不为null,通过setValue changes为null
我今天会再想想有没有好办法
本帖最后由 LeoDreaming 于 2019-12-24 13:00 编辑
>> A B
1 1
2 2
新追加行3 999999
但是,B列的1和2 也是SetValue方式赋值的,就可以。第三行的“999999”所在控件是当前焦点Cell,就取不到值。
很头疼。
this.社員BindingSource.EndEdit();
改完cell的值之后,调用一下绑定的数据源结束编辑的方法
这样就可以 GetChanges 取到最新的改动了
好的,谢谢。
用 BindingSource.EndEdit()确实可以了 嗯,不客气
页:
[1]