对话框单击按钮将值传递给另一个对话框

时间:2012-04-12 14:23:34

标签: reporting x++ axapta

我想知道这是否可能,并且相信它是在对话框中。

我在表单上有一个菜单项按钮,用于运行报表,单击此按钮时,将向用户显示一个对话框表单,该表单从表单中复制所选值的唯一ID。

在底部有一个按钮,它运行另一个报告,这只是不时运行,必须运行该按钮,这部分工作正常。

我需要做的是,当单击运行第二个报告的按钮时,当前选定的值将传递给该报告。现在这不能以正常方式完成,因为值已经传递给第一个报告,所以我认为必须将值从第一个对话框复制到第二个对话框?

如果是这样,有人可以协助完成这项工作吗?

1 个答案:

答案 0 :(得分:1)

我将假设该报告是一个MorphX报告(而不是SSRS),并且该对话框位于一个扩展RunBaseReport的类中。

为第一个和第二个报告中的每个对话框字段创建一个parm方法。

然后在第二个报告的主报告中提供第一个报告的值,如下所示:

static void main(Args args)
{
    SecondReport report = new SecondReport();
    report.getLast(); // to fetch saved values
    // args.caller() must be set in FirstReport
    report.parmItemId(args.caller().parmItemId()); // ItemId to be passed around
    if (report.prompt())
        report.run();
}