1

GUI にバインドされた巨大な DataTable インスタンスがあります。DataTable の隣には、DataTable コンテンツへの高速アクセスを実装する特殊なオブジェクト (ValuesIndex と呼びましょう) があります。問題は、ValuesIndex を DataTable の現在の状態と同期させておく必要があることです。DataTable にまだ受け入れられていない値がある場合、それらを ValuesIndex に保持する必要があります。また、RejectChanges にも適切に対応する必要があります。そのため、ValuesIndex 全体が以前の状態に戻ります。

RejectChanges がキャッチされるように、DataTable インスタンスのイベント ハンドラーを設定する可能性はありますか? RowChanged イベントを使用してそれを達成しようとしましたが、それに頼ることはできません。テーブルから行を削除して変更を拒否すると、何らかの理由で RowChanged イベントが呼び出されません。

更新: DataRow.Delete()を 呼び出す代わりに、DataTable.Rows.Remove を使用して行を間違った方法で削除したことが判明しました。RowChanging イベントは、AcceptChanges と RejectChanges の両方で発生します

4

0 に答える 0