0

我有一个加载到DataTable对象的数据库表,该对象绑定到多个 UIElement,例如DataGridComboBoxTextBoxes等的ItemsSource属性。有没有办法让我实现一个“看门狗”,不断检查 DataTable 或 DataSet 是否已更改并在单独的线程上自动更新数据库?

我的目标是消除客户端必须手动触发“保存”事件以将这些更改传播到数据库的需要,并且数据库始终与 DataSet/DataTable 中的数据同步。还请建议这是否是一种好的做法,或者是否有更好的选择。

4

1 回答 1

1

DataTable 对象有许多在行数据更改时触发的事件。
您可以使用 RowChanged/RowChanging、RowDeleted/RowDeleting

查看 MSDN 上的完整文档

您可以通过这种简单的方式为 RowChanging 事件添加事件处理程序

yourTable.RowChanging += new DataRowChangeEventHandler(yourRowChangingHandler);

然后添加处理程序

private void yourRowChangingHandler(object sender, DataRowChangeEventArgs e)
{
    Console.WriteLine("Action={0}", e.Action);
}

其中Action 属性是描述操作的枚举

于 2012-12-13T12:06:20.383 回答