RunBaseReport 中的 dialogPostRun 方法
dialogPostRun method in RunBaseReport
我有一个 RunBaseReport,其中包含重写的对话框方法,我在其中添加了几个控件。其中一个控件是组合框。
当我修改组合框时,应该更改控件 enabled() 属性。
所以基本上我需要知道 dfReportType 对话框字段的值何时更改。
public Object dialog(Object dialog)
{
DialogRunbase dialog = dialog;
;
//adding my combobox
dfReportType = dialog.addFieldValue(typeid(ReportType), ReportType:DefaultType);
//adding some other controls here
return dialog;
}
根据我发现的许多文章,我需要覆盖 dialogPostRun 方法并执行如下操作:
public void dialogPostRun(DialogRunbase dialog)
{
super(dialog);
dialog.dialogForm().formRun().controlMethodOverload(true);
dialog.dialogForm().formRun().controlMethodOverloadObject(this);
}
但不幸的是我在RunBaseReportclass中没有这个方法。
根据 msdn 应该在那里。
还有其他解决方法吗?
我目前使用的是 AX 2012,但我仍在查看它。我在上下文菜单中有可用的方法,但在第一列中没有。我必须遍历 "Plus..." 才能找到第二列中的方法。
嗯,在继承RunBaseReport的Report对象中没有dialogPostRun方法,但是我们在中有这个方法Class 继承了 RunBaseReport.
那是我的错误。我使用报告对象而不是 class。
如果您想为报告制作自定义对话框,但您还想使用所有默认控件,您应该:
- 创建class
- 继承RunBaseReport
- 覆盖对话框、getFromDialog 等
覆盖 lastValueElementName 方法
public identifiername lastValueElementName()
{
//just put name of your report object
return reportStr(YourReportName);
}
如果要从 menuItem 进行调用,请不要忘记添加 main() 方法。
我有一个 RunBaseReport,其中包含重写的对话框方法,我在其中添加了几个控件。其中一个控件是组合框。 当我修改组合框时,应该更改控件 enabled() 属性。
所以基本上我需要知道 dfReportType 对话框字段的值何时更改。
public Object dialog(Object dialog)
{
DialogRunbase dialog = dialog;
;
//adding my combobox
dfReportType = dialog.addFieldValue(typeid(ReportType), ReportType:DefaultType);
//adding some other controls here
return dialog;
}
根据我发现的许多文章,我需要覆盖 dialogPostRun 方法并执行如下操作:
public void dialogPostRun(DialogRunbase dialog)
{
super(dialog);
dialog.dialogForm().formRun().controlMethodOverload(true);
dialog.dialogForm().formRun().controlMethodOverloadObject(this);
}
但不幸的是我在RunBaseReportclass中没有这个方法。 根据 msdn 应该在那里。
还有其他解决方法吗?
我目前使用的是 AX 2012,但我仍在查看它。我在上下文菜单中有可用的方法,但在第一列中没有。我必须遍历 "Plus..." 才能找到第二列中的方法。
嗯,在继承RunBaseReport的Report对象中没有dialogPostRun方法,但是我们在中有这个方法Class 继承了 RunBaseReport.
那是我的错误。我使用报告对象而不是 class。
如果您想为报告制作自定义对话框,但您还想使用所有默认控件,您应该:
- 创建class
- 继承RunBaseReport
- 覆盖对话框、getFromDialog 等
覆盖 lastValueElementName 方法
public identifiername lastValueElementName() { //just put name of your report object return reportStr(YourReportName); }
如果要从 menuItem 进行调用,请不要忘记添加 main() 方法。