多次调用子报表并从数组中传递值

时间:2013-10-23 13:29:53

标签: sorting loops jasper-reports subreport

我有一份主要报告和三份子报告(它们有不同的大小) 我有一个数组,它给出了运行这三个报告的顺序(例如003,001,002 - 意味着报告3将首先运行,然后运行1,然后运行2)。

是否可以为循环遍历数组的子报表设置一个占位符(仅在这种情况下为3次),然后调整它调用的子报表的大小(同时根据子报表表达式中的数组值调整路径)课程)?

1 个答案:

答案 0 :(得分:0)

如果您可以在子报表中使用数据库连接,则可以从数组中构造SQL查询,例如:

select '003' as rep_order
 union all
select '001' as rep_order
 union all
select '002' as rep_order

并将其传递给子报告以将其用作查询。在子报表的查询编辑器中写下如下内容:

$P!{ARRAY_QUERY}

然后在此子报告中,在详细信息区域中添加子报告元素。对于上面的查询,它将运行3次......

如果要在报表中生成查询,则无法通过数组循环,因此您必须对数组元素进行硬编码...

相关问题