datatable.getchanges()为啥返回null

wangcaidpjxwq 2010-11-09 05:38:15
具体情况:界面中设计一个datagridview,手动添加列,将列1和列2绑定某个字段,列1和列2的类型为复选框类型。设置选中为Y,不选中为N。然后在代码中给该datagridview绑定一个datatable。绑定修改列1和列2的值。通过断点可以看到datatable的值已经改变。但是datatable.getchanges()返回却是null。这是怎么个情况?
...全文
427 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
猴头 2011-09-22
  • 打赏
  • 举报
回复
我也约到了相似的问题,不过我的是在button按钮里修改的单元格的值得,也获取不到
longxun_chen 2011-07-21
  • 打赏
  • 举报
回复
DataTable.Row[index].Delete()
这样操作会被DataTable.GetChanges()这个方法记录下来,
DataTable.Rows.RemoveAt(index)或者 DataTable.Rows.Remove(Row)这样的删除操作不会被记录。
这是测试过的结果

wangcaidpjxwq 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 phil999 的回复:]
引用 2 楼 wangcaidpjxwq 的回复:
引用 1 楼 phil999 的回复:
确认表中数据确实被更改了

恩。肯定被修改了的。


肯定没有修改,你是不是调用 accept changes 了?

头像是楼主本人不?
[/Quote]
你看我调用的是datatable.getchanges()。不是accept changes ,我还是知道这两个方法的区别的。这个问题现在用其他方法解决了的。问题原因是这样的:
我的保存操作写在了cellendedit方法里面。从这里面读取的时候上述方法就没有值,但是放在RowValidating里面的话就可以读取到datatable.getchanges()的值。为什么会出现这种情况暂时还不能确定。坐等高手解答。
另,头像是我本人。。。。。。
phil999 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wangcaidpjxwq 的回复:]
引用 1 楼 phil999 的回复:
确认表中数据确实被更改了

恩。肯定被修改了的。
[/Quote]

肯定没有修改,你是不是调用 accept changes 了?

头像是楼主本人不?
wangcaidpjxwq 2010-11-10
  • 打赏
  • 举报
回复
有人来看看没
wangcaidpjxwq 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 phil999 的回复:]
确认表中数据确实被更改了
[/Quote]
恩。肯定被修改了的。
phil999 2010-11-09
  • 打赏
  • 举报
回复
确认表中数据确实被更改了

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧