Scenario:
Can we have an overridden method in a
dialog class. I can not use form as a dialog. I have to add a method in the
dialog class. Like modified method of an EDT.
Answer:Well
it can be done. First you have to add a method dialogPostRun
public void
dialogPostRun(DialogRunbase
dialog)
{
;
dialog.dialogForm().formRun().controlMethodOverload(true);
dialog.dialogForm().formRun().controlMethodOverloadObject(this);
dialog.formRun().controlMethodOverload(true);
dialog.formRun().controlMethodOverloadObject(this);
super(dialog);
}
This
method actually allows the dialog form to override control method at runtime.
Now we need the name of the control at runtine that needs the overriden method.
You can get that using
print dialogCustId.name();
pause;
where
dialogCustId is the EDT. let say the name returned at runtime is
Fld3_1.
Now if you have to override lookup method of the EDT you can
write the method like this
void Fld3_1_lookup()
{
//override lookup
method here
}
If you need to override modified method
boolean
Fld3_1_modified()
{
}
.
The modified method can also be accessed
by overriding
public void dialogSelectCtrl()
{
}
in the
runbase class. Just call
dialog.allowUpdateOnSelectCtrl(true);
in
the dialog method.
You can also create a dialog form and pass it as the
parameter in the dialog method of runbase class. you can find an example in
tutorial_runbase class and form.
from : http://msdax.blogspot.com/2007/08/overriding-method-for-control-in-dialog.html
没有评论:
发表评论