问题描述:当我们在Form的BLOCK级里面增加了Trigger WHEN-NEW-RECORD-INSTANCE,导致我们的Form在AP上面运行时,按F11查询时,显示的底色是白色 ,标准的是蓝色。
问题解决:把Execution Hierarchy属性改为BEFORE就可以了
FORM触发器的三个层次:Before、Override、after
英文描述:
Specifies how the current trigger code should execute if there is a trigger with the same name defined at a higher level in the object hierarchy.
The following settings are valid for this property:
Override : Specifies that the current trigger fire instead of any trigger by the same name at any higher scope. This is known as "override parent" behavior.
Before : Specifies that the current trigger fire before firing the same trigger at the next-higher scope. This is known as "fire before parent" behavior.
After : Specifies that the current trigger fire after firing the same trigger at the next-higher scope. This is known as "fire after parent" behavior.
触发器实例:
当一个事件发生的时候,Forms Engine可一并触发由低到高3个级别(Item、Block、
Form)的同名事件,如何触发,由定义低级别的事件时所设置的执行层次决定。
Execution Hierarchy:
1、 Override模式,默认模式,不再触发高级别事件
2、 Before模式,触发完本级别的事件后,再触发高级别事件
3、 After模式,先触发高级别事件,再回来触发本级别事件
当然了,如果某一层次我们没定义事件代码,Forms Engine就跳过该级别,直接进入
下一级别。
此外,Block中任何Item发生的事件,都可能引发该Block级事件,所以在Block级写本
属于Item级的事件,要特别性能问题;Form级事件更有类似问题。
例子. WHEN-VALIDATE-ITEM例子
假设:
1、 Item XXX的WHEN-VALIDATE-ITEM的代码是“代码1”,模式是“After”;
2、 Item XXX所在BlockWHEN-VALIDATE-ITEM的代码是“代码2”,模式是
“Override”;
3、 Form级WHEN-VALIDATE-ITEM的代码是“代码3”。
事件:发生Item XXX的WHEN-VALIDATE-ITEM
那么:实际先执行“代码2”,然后执行“代码1”。
分享到:
相关推荐
图解C# new和override的区别.doc图解C# new和override的区别.doc图解C# new和override的区别.doc
静态(static)方法重写(override)
override abstract virtual interface比较
new、abstract、virtual、override,sealed关键字区别和使用代码示例
override和重载的区别 希望对大家有帮助
c# override new base 关系
override and overload difference
在使用eclipse开发时有时会遇到Override错误,这个错误已得到解决,不信你下载个试试?
resource override
主要介绍了C#中new和override的区别个人总结,本文以问答的方式讲解了new和override的区别,需要的朋友可以参考下
New与Override重写的区别例子.txt QQ:292258449
C# new和override都会覆盖父类中的方法。那它们两者之前有什么区别呢?
一个学习面向对象时常会问起的概念。通过一个小例子让你了解到C#动态绑定和静态绑定对于new和override区别的描述。
现象: … java: 1801: method does not override a method from its superclass @Override… 原因: Eclipse is defaulting to Java 1.5 and you have classes implementing interface methods (which in Java 1.6 ...
overload and override.txt的区别重载和隐藏的区别
Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。
Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。
Delphi面向对象:overload与override[文].pdf
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现,想要了解更多请参考本