私のアプリケーションでは、DBAware コンポーネントのみを使用しています (いくつかの場所を除く)。
マスター データセット (顧客など)、詳細データセット (注文など)、サブ詳細データセット (注文アイテムなど) を作成するシナリオがあります。典型的には、ユーザーに変更を許可し (データセットはブラウズ モードになっています)、投稿します。単純。
とにかく、サブデータセットを編集する際に、一種の単純な元に戻す機能を追加したいと思います。ユーザーが操作をキャンセルした場合、データセットを編集するフォームを開きます (つまり、db コンポーネントを使用するため、フォームを変更するとデータセットが変更されます)。フォームを開く前のデータセットを復元したい。
TClientDataSet
これを実装するために、または同様のコンポーネントでデータセットのコピーを作成することを考えることができますが、他のテクニックはありますか? 同様に、Delphi を使用すると、データの「スナップショット」を簡単に作成できます。疑似コードを使用:
MySubDetailDataSet.SaveSnapShot;
SubDetailForm.ShowModal;
if ModalResult = mrCancel then MySubDetailDataSet.RestoreSnapShot;
そのようなことは、Delphi コンポーネントを使用して「既製品」で可能ですか?
ちなみに、私は DevArt コンポーネントの SDAC を使用しているので、Delphi 標準のコンポーネントではなく、これらのコンポーネントでのみ使用できる手法を知っている場合は、歓迎します!