iReport中的子报告

时间:2014-09-01 18:13:46

标签: java jasper-reports subreport

我的Java项目可以为一个报告提供多个子报告吗?

我有一个生成主报告的类,根据用户选择的报告,将在主报告中生成子报告。但我在Java Classes上执行此操作,在 iReport 上我只放了参数。所以我只有一个主报表和许多子报表将根据用户选择的内容进行插入。这可能吗?

1 个答案:

答案 0 :(得分:1)

第一种方法可能是在主报表的sub / report元素上使用 printWhenExpression 属性。
详细说明:您应将所有子报告放在主报表中,设置一个或一些从Java代码传递到报表的参数,并设置上述属性以获取此参数/参数值。示例:<printWhenExpression><![CDATA[new Boolean($F{CONDITION}.equals("N"))]]></printWhenExpression> 这在子报表元素内部确保仅在 CONDITION 参数(从应用程序设置了它的值)等于N时打印它。它可以是int, char等等。
如果整个结构在不同情况下发生变化,需要考虑的另一个选择可能是使用DynamicReports(基于Jasper-Reports)