2014-09-01 75 views
0

我可以在我的Java项目中获得一份报告的多个子报告吗?iReport中的子报告

我有一个类,生成主报告,并根据哪个报告用户选择子报告将在主报告中生成。但我在Java类上做这个,在iReport我只放了参数。因此,我只有一个主要报告和许多子报告,这些报告将根据用户选择哪个插入。那可能吗?

回答

1

第一种方法可能会使用在你的主报表中的子/报告元素的printWhenExpression财产。
详细说明:您应该将所有子报表放入主报表中,设置一个或一些从Java代码传递到报表的参数,并设置上述属性以获取此参数/参数值。例如:<printWhenExpression><![CDATA[new Boolean($F{CONDITION}.equals("N"))]]></printWhenExpression> 这在子报表元素中确保只有在CONDITION参数(从应用程序中设置其值)等于N时才会打印。它可以是int,char等。
另一种选择,如果整个结构因案例而异,可以考虑使用DynamicReports(基于Jasper-Reports)