メインのデータ入力画面では、OnBeforePost イベントに OK/Cancel ダイアログがあります。
- OK、物事を自然に任せましょう
- 今すぐキャンセルすると
Dataset.Cancel;
これは、変更をロールバックし、データセットをブラウズ モードにします。
ほとんどのクライアントはこれで問題ありませんが、次のように変更できるかどうか尋ねられました。
- キャンセル、投稿を中止し、現在の変更を維持したまま編集モードにとどまります。
キャンセルする場合は、キャンセル ボタンを使用できます。
ソースを見ると、procedure TDataSet.Post;
この方法でイベントを使用することはできません。
これを行う方法について何か考えがある人はいますか?
フォローアップ: これは私が今それを処理するために選択した方法です
case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
mrYes: ;
mrNo: Dataset.Cancel;
mrAbort: Abort;
mrNone: Abort;
end;