TTree(BDE)に接続されたTDBGridで使用するための機能を作成する予定です。私はそれがグリッドセルレベルで動作するようにしたい。Un-Do機能を実装するために使用するTDataSet、TDbGridイベント
私はこれを実装するための良い方法を提案したいと思います。
変更されたレコードのリスト、フィールド名、およびそれらの以前の値を保持する予定です。
私が必要とするのは、セルのOnEnterとOnExitです。
TDataSet.BeforeEditは私が必要とするものの半分です。しかし、TDataSet.AfterEditは少し誤っています - 編集が完了した後ではなく、 "TDataSetが編集モードに入った後に"呼び出されます(ヘルプシステムを引用する)。
TField.OnChangeは動作します。私は思う...
私の考えは、AfterEditがセルの内容を取得するということです。 TField.OnChangeは変更をスタックに記録します。 (デルファイのジェネリックスの良さに感謝しました。私が前に欠けていたものは分かりませんでした)
私の考え方、警告、またはこれを行うためのより良い方法についての提案はありますか?
PS標準のmea culpa:はい、はい:BDEは推奨されていません。私はyada、yada、yadaを使用しないでください。 150万行のレガシーコードを維持している私の上司にそれを伝えてください。はい、はい:いつかBDEは消えてしまいます。私たちは積極的に行動して動かなければなりません。我々は知っている。ありがとうございました。
トランザクション – OnTheFly
データベースにまだ更新されていない編集を追跡して取り消したい理由がわかりません。なぜ投稿を追跡したり取り消したりしないのですか?取り消しをキャンセルすることができるメモリ内の編集に対して操作を許可する予定ですか? BDEに関して –
:そうではありません。) - [Demotivators](http:// despair。com/viewall.html) – mjn