加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi:在OnBeforePost事件中取消TDataSet.Post

发布时间:2020-12-15 10:10:13 所属栏目:大数据 来源:网络整理
导读:在主数据输入屏幕上,OnBeforePost事件中有一个OK / Cancel对话框. OK可以让事情顺利进行 取消现在做一个Dataset.Cancel; 这是什么意思,回滚任何更改,并将数据集放入浏览模式. 这对大多数客户来说都是好的,但是我们被问及是否可以更改 取消,中止帖子,并保持编
在主数据输入屏幕上,OnBeforePost事件中有一个OK / Cancel对话框.

OK可以让事情顺利进行
>取消现在做一个Dataset.Cancel;

这是什么意思,回滚任何更改,并将数据集放入浏览模式.

这对大多数客户来说都是好的,但是我们被问及是否可以更改

>取消,中止帖子,并保持编辑模式,保存当前更改.

如果他们想取消,他们可以使用取消按钮.

看源程序TDataSet.Post;这样看起来不可能使用事件.

任何人都有任何想法可以做到这一点吗?

跟进:这是我现在选择处理的方式

case MessageDlg('Save Changes?',mtWarning,[mbYes,mbNo,mbAbort],0) of
  mrYes: ;
  mrNo: Dataset.Cancel;
  mrAbort: Abort;
  mrNone: Abort;
end;

解决方法

调用方法中止(从单位系统,如果我记得正确)会引发一个静默的EAbort异常,它只会取消当前操作.这应该工作.

(Btw:这种取消数据库操作的方法也在帮助系统的深处被描述为实现这一点的“正常”方式 – 这是我从最初得到这种技术的地方).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读