1

我需要对SalesEditLines表单的closeOk进行一些更改。据我所知,我无法更改标准方法,因此我需要为 closeOk 创建一个事件处理程序。

[PreHandlerFor(formStr(SalesEditLines), formMethodStr(SalesEditLines, closeOk))]
public static void SalesEditLines_Pre_closeOk(XppPrePostArgs args)
{
    FormRun sender  = args.getThis() as FormRun;
    Object callerObject = sender.args().caller();
}

问题是 - 我如何使用 PreHandler 通过 SalesEditLines 表单 formRun访问SalesFormLetter ?

4

1 回答 1

2

您可以在表单的init方法中看到以下行SalesEditLines

salesFormLetter = element.args().caller();

所以你callerObject是 SalesFormLetter 类的一个实例,你只需要将它转换为正确的类型。

请检查以下链接: https ://docs.microsoft.com/en-us/dynamicsax-2012/developer/expression-operators-is-and-as-for-inheritance

于 2018-09-27T08:14:42.457 回答