我在使用子报表时遇到 iReport 问题,我使用的是 XML 源。
XML 源
<bordereaux>
<bordereau>
<pages>
<page>
<numpage>1</numpage>
<dosimetres>
<dosimetre>
<information>information</information>
</dosimetre>
<dosimetre>
...
</dosimetre>
<dosimetre>
...
</dosimetre>
</dosimetres>
</page>
<page>
...
</page>
<page>
...
</page>
<page>
...
</page>
</pages>
</bordereau>
<bordereau>
...
</bordereau>
<bordereau>
...
</bordereau>
<bordereaux>
问题描述
我的主要报告是在 <bordereau> 节点上进行迭代。
子报表(在主报表中)在 <page> 节点上进行迭代,在“详细信息部分”的底部有一个分页符。
(如果在每个 < dosimetre > 节点上进行迭代,则子报告中的子报告,但这对我的问题并不重要)
我需要做的是,在我的主报告的“页脚”部分,显示 <numpage> 节点的值。
我做了什么
我在每个报告中添加了 1 个名为“numPage”的变量,它们都是 java.lang.String
我的子报告中的一个是“变量表达式”$F{numpage}。
我的主报告中的一个通过“返回值”属性中的子报告链接到第一个
我得到了什么
我的主报表在我的 <bordereau> 节点
上很好地迭代 我的子报表在我的 <page> 节点上很好地迭代
如果我在子报表中打印 $F{numpage} 字段,我可以看到它。
如果我在子报表中打印变量 $V{numPage},我可以看到它。
但是,如果我在我的主报告中打印变量 $V{numPage},我只能看到它的最后一次“<page> 节点迭代”的值,否则我会得到一个漂亮而流畅的“null”
我不知道该怎么办......我试图玩变量的“重置类型”,玩文本字段的“评估时间”。但是每次尝试都没有效果...
再见
我希望我能很好地解释我的问题,我不是以英语为母语的人,所以我为糟糕的英语道歉......我的英语很糟糕......我应该感到难过!
非常感谢您的帮助。
尼古拉斯