这么长的故事我有一个从mysql数据库获取数据的dgv,我可以对网格中的数据进行更改并保存回表,除此之外没问题:用户对dgv所做的更改是不是直接(或手动)在dgv上完成,而是用户点击加号或减号按钮,我务实地增加或减少名为Quantity的某个字段中的数字,这实际上是唯一可以更新的字段。
现在当我更新我的adapte命令(... da.Update(ds,“salesDet”))时,我最后更改的行不会更新,除非我在按下更新按钮之前手动将该行留到另一行。因此,例如,如果我在dgv中有3行,并且我选择数量为1的第2行,那么我按加号按钮,数量变为2.然后如果我在第2行时立即按下我的更新按钮,它不会更新到我的数据库。只有在按下更新按钮之前我才会将第2行留给第1行或第3行。有点像因为我正在以编程方式而不是手动更改数字,我需要将编辑后的行保留为“更新后” “新价值观的承诺是什么?不知道我是否有意义,但我真的迷失了
我在更新之前尝试了dgv.EndEdit(),dgv.RefreshEdit(),dgv.Refresh(),但没有一个可行。
感谢您的帮助
答案 0 :(得分:0)
听起来当前行尚未经过验证,因此您的更改尚未生效。一个笨拙的hacky方法来解决这个问题可能是在Update方法开始时将dgv.CurrentRow设置为空,以强制进行验证。