检测数据集/数据表中的行何时发生更改

Mal*_*ist 2 .net c# data-binding winforms

我正在尝试为我的C#winforms应用程序添加一些额外的日志记录.我有一些数据绑定表单,所有数据库的东西都由绑定源和一些类型化的数据集/适配器管理.

通过这种设置,当某些内容发生变化时很难判断,我必须管理每个字段并保持其之前的值.有没有办法可以挂钩数据集并告诉什么时候有什么变化?我知道datarow有一个RowState枚举,这是一个很好的起点吗?我查看了绑定源的DataMemberChanged事件,但它从未触发过......

CSh*_*Atl 13

要获取更新的数据值的原始值,您可以执行以下操作:

<DataTableRow>[<DataColumn>, DataRowVersion.Original]
Run Code Online (Sandbox Code Playgroud)


Ahm*_*eed 6

要了解更改的内容,请查看DataSet.GetChanges方法.该示例显示了如何获取更改并完成更改.我在这里也有一个旧示例,它使用DataTable并显示合并后如何进行比较.它检查RowState并显示更改的值等.它靠近页面的底部,它在VB中,因为OP使用它,而不是C#.我现在要出去了,所以我不能提供相同的翻译,但是收集一些有用的技术应该非常简单.