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