c# - 了解用户是否更改了 DataGrid 中的数据的最佳方法是什么?

标签 c# wpf datagrid

我想知道每次用户修改 WPF DataGrid 中的数据时。

是否有一个事件可以用来做到这一点?或者我可以用来覆盖全套数据更改(添加行、删除行、修改行等)的最小事件集是什么?

最佳答案

我知道这可能超出了您的要求,但是一旦您这样做了,就很难回头。无论您要绑定(bind)到...某个列表,还是让该项目实现 IEditableObject。 这样您就不必担心任何控制/ View 实现、事件等。 当项目发生更改时,数据网格以及大量 .NET 控件会将 IsDirty 对象设置为 true。

这些不是 super 好的链接,但它们会让您开始考虑维护 isDirty 标志。

https://msdn.microsoft.com/en-us/library/system.componentmodel.ieditableobject(v=vs.110).aspx

object editing and isDirty() flag

http://bltoolkit.net/doc/EditableObjects/EditableObject.htm

这更符合我的习惯:

https://stackoverflow.com/a/805695/452941

关于c# - 了解用户是否更改了 DataGrid 中的数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321899/

相关文章:

c# - 什么是惯用代码?

.net - ShowDialog 方法挂起而不显示窗口 ¿死锁?

c# - 如何在 wpf datagrid 中绑定(bind)行标题?

c# - 无法将 ObservableCollection 绑定(bind)到 DataGrid

wpf - 滚动到 DataGrid 底部时出现的行下方的额外空间?

c# - 动态定义SSRS报表的DataSet和DataSource

c# - 为什么 StringBuilder.Equals 在这种情况下返回 "true"?

c# - 在 ScrollViewer 中移动对象

wpf - 如何在不复制代码的情况下在 WPF 中编辑不可变对象(immutable对象)?

c# - 如何防止 ListView 扩展窗口维度?