我想知道这是否可能,并相信它与对话框有关。
我在运行报表的表单上有一个菜单项按钮,当单击此按钮时,将向用户显示一个对话框表单,该表单从表单中复制所选值的唯一 ID。
在底部有一个运行另一个报告的按钮,这只是不时运行并且必须运行该按钮,这部分工作正常。
我需要发生的是,当单击运行第二个报告的按钮时,当前选定的值将传递给该报告。现在这不能以正常方式完成,因为值已经传递给第一个报告,所以我假设必须将值从第一个对话框复制到第二个?
如果是这样,有人可以帮忙解决这个问题吗?
我将假设该报告是 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();
}