我想为子报告(页脚)使用参数。
是否有一种简单的方法来声明参数并仅在子报告中使用它?
我已经有一个可行的解决方案,但我必须:
- 在主报告中声明我的参数
- 将我在主报告中的参数声明为子报告参数
- 在子报告中声明我的参数以最终能够使用它
我直接处理 xml 文件,没有 iReport。
我想为子报告(页脚)使用参数。
是否有一种简单的方法来声明参数并仅在子报告中使用它?
我已经有一个可行的解决方案,但我必须:
我直接处理 xml 文件,没有 iReport。
基本上,我们做不到。这不可能。
由于参数可以是任何可以想象的类,因此您始终可以将参数包装在其他类中。例如,在 Java 中,您可以使用 Map
. 这样,您只需为子报表声明一个参数,并通过包装类的适当 getter 访问映射中的每个子报表参数。
作为泛型的示例HashMap
:像这样声明
<parameter name="subreportParameters" class="java.util.HashMap" isForPrompting="false"/>
并像这样使用
<![CDATA[$P{subreportParameters}.get("YOUR_PARAMETER_KEY") ]]>
只有一个参数的缺点是降低了子报告的可读性。对于像页脚这样的小型子报表,这可能是一个可以接受的折衷方案。