:system.form_status

来源:互联网 发布:淘宝刷好评兼职交会费 编辑:程序博客网 时间:2024/05/29 14:45

原文:http://blog.itpub.net/post/33426/402687


系统变量:system.form_status代表了form的状态:'CHANGED', 'NEW', 'QUERY'。

按下默认[exit]键或选择默认菜单中的exit项时,程序执行的是do_key('KEY-EXIT')。
如果没有自定义key-exit触发器,do_key('KEY-EXIT')调用key-exit对应的默认built-in过程: exit_form。
exit_form实际上有三个重载过程:
exit_form; exit_form(commit_mode);exit_form(commit_mode, rollback_mode);
exit_form等于exit_form(ASK_COMMIT)。
它将检查system.form_status,如果不为'QUERY',弹出对话框提示是否保存变动。DO_COMMIT,NO_COMMIT,NO_VALIDATE参数将执行相应动作而不弹出对话框。

如果你想自定义退出过程,要做的就是:
创建key-exit触发器,在触发器中判断:system.form_status,执行相应动作或调用exit_form。
当然你如果只想简单的保存(或不保存)退出,调用参数的exit_form就行了,不用判断:system.form_status。
具体用例可以在forms builder的联机帮助中查到。

注意一点,:system.form_status只会随用户操作执行built-in过程而改变。
你在触发器或过程中使用insert,update语句直接修改数据库,form并不知道,:system.form_status并不改变。



原创粉丝点击