0

DataGridComboBoxTextBoxesなどのItemsSourceプロパティなどの複数のUIElementsにバインドされているDataTableオブジェクトにロードするデータベーステーブルがあります。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 に答える