在我们的主数据输入屏幕上,我们在OnBeforePost事件中有一个确定/取消的对话框。
- 确定让事情顺其自然
- 取消 立即执行
Dataset.Cancel;
这样做可以实现它的目的,即撤消任何更改并将数据集置于浏览模式。
对于大多数客户来说,这是可以接受的,但我们被要求将其更改为
- 取消,中止发布并保留当前更改的编辑模式。
如果他们想要取消,他们可以使用取消按钮。
查看procedure TDataSet.Post;
的源代码,似乎不可能以这种方式使用该事件。
是否有人有关于如何做到这一点的想法?
后续:这是我现在选择处理它的方式
case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
mrYes: ;
mrNo: Dataset.Cancel;
mrAbort: Abort;
mrNone: Abort;
end;