【发布时间】:2011-06-07 22:29:57
【问题描述】:
我有一个包含多个子报告的 jasper-report。它们中的大多数都可以正常工作,但是由于某种原因,如果我的一个子报表变得足够长以到达页面末尾,它不会拆分,而是跳回到其详细信息部分的顶部并继续在那里写入,覆盖前一个文本。我看不出这个子报表和正常工作的子报表有什么区别。目前我的项目使用 jasper-reports 1.2.5,但我尝试升级到 4.0.1(仅针对此报告),结果相同。
这是 jrxml 的部分,其中包含我不起作用的子报告:
<subreport isUsingCache="true">
<reportElement
x="0"
y="172"
width="468"
height="21"
key="subreport-3"
positionType="Float"/>
<dataSourceExpression><![CDATA[$P{dataSourcePreviousYukonLicence}]]></dataSourceExpression>
<subreportExpression class="java.io.InputStream"><![CDATA[this.getClass().getResourceAsStream("/config/template/subreportPreviousYukonLicence2.jasper")]]></subreportExpression>
这是确实工作的部分:
<subreport isUsingCache="true">
<reportElement
x="0"
y="43"
width="468"
height="21"
key="subreport-2"
positionType="Float"/>
<dataSourceExpression><![CDATA[$P{dataSourceConvictionHistory}]]></dataSourceExpression>
<subreportExpression class="java.io.InputStream"><![CDATA[this.getClass().getResourceAsStream("/config/template/subreportConvictionHistory.jasper")]]></subreportExpression>
子报表本身的设计非常相似,所有波段都有isSplitAllowed="true",并且它们使用相同的字体和相同类型的报表元素。
如果有人知道为什么一个人会正确拆分而另一个人不会,我们将非常感谢您的帮助。
【问题讨论】:
-
我们有几乎相同的问题。这似乎是由子报表本身引起的。如果我们直接使用子报表并用足够多的内容填充它以使其不适合单个页面,那么它也会开始覆盖最上面的行。
标签: jasper-reports subreport page-break