バージョン

削除したレコードのリストアについて

元に戻す操作およびレコード削除を有効にする場合、エンド ユーザーは削除したレコードを復元できます。ただし、エンド ユーザーが元に戻すことができるほかの機能とは異なり、抽象的な UndeleteRecordsStrategy クラスを実装し、削除したレコードをエンド ユーザーが復元できるようにする必要があります。

UndeleteRecordsStrategy クラスを実装するとき、 CanUndelete および Undelete メソッドをオーバーライドする必要があります。

  • CanUndelete - ブール値を返し、削除したレコードをエンド ユーザーが復元できるかどうかを決定することができます。

  • Undelete - このメソッドに渡される RecordInfo オブジェクトは、削除したレコードの情報を公開します。この情報を使って、削除されたデータ項目を RecordManager オブジェクトの SourceItems コレクションに追加/挿入できます。さらに、SourceItems コレクションに挿入/追加するデータ項目にマップした RecordInfo オブジェクトのディクショナリを返す必要があります。このマッピングは、削除する前にエンド ユーザーがレコードに適用した変更を元に戻す方法を DataPresenter コントロールに提供します。

UndeleteRecordsStrategy クラスを実装した後で、DataPresenter コントロールの RecordsDeleting イベントを処理する必要があります。イベント ハンドラーで、 RecordsDeletingEventArgs オブジェクトの UndeleteStrategy プロパティを、UndeleteRecordsStrategy クラスを実装するクラスのインスタンスに設定します。

UndeleteRecordsStrategy クラスを実装することは複雑で、データ ソースに応じて異なる場合があります。幸い、サンプル機能ブラウザーに、「Undo - Advanced」という名前のサンプルが含まれており、これは、独自に実装する際の出発点として使用できる UndeleteRecordsStrategy クラスの基本的な実装の実例を示しています。