我有一个碧玉报告,它有几个子报告。它们中的大多数都可以正常工作,但是由于某种原因,如果我的一个子报表变得足够长以到达页面末尾,它不会拆分,而是跳回到其详细信息部分的顶部并继续在那里写入,覆盖前一个文本。我看不出这个子报表和正常工作的子报表有什么区别。目前我的项目使用 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>
子报表本身的设计非常相似,所有带区都有 is isSplitAllowed="true"
,并且它们使用相同的字体和相同类型的报表元素。
如果有人知道为什么一个人会正确拆分而另一个人不会,那么您的帮助将不胜感激。