Jasper reports jasperreports子报表未拆分

Jasper reports jasperreports子报表未拆分,jasper-reports,subreport,page-break,Jasper Reports,Subreport,Page Break,我有一个jasper报告,它有几个子报告。大多数都可以正常工作,但出于某种原因,如果我的一个子报告足够长,可以到达页面的末尾,它就不会拆分,而是跳回到细节部分的顶部,继续在那里写入,覆盖以前的文本。我看不出这个子报表和正常工作的子报表之间有什么区别。目前我的项目使用jasper reports 1.2.5,但我尝试升级到4.0.1(仅针对这一个报告),结果是一样的 这是jrxml的一部分,其中包括我的子报告,但它不起作用: <subreport isUsingCache="true"&g

我有一个jasper报告,它有几个子报告。大多数都可以正常工作,但出于某种原因,如果我的一个子报告足够长,可以到达页面的末尾,它就不会拆分,而是跳回到细节部分的顶部,继续在那里写入,覆盖以前的文本。我看不出这个子报表和正常工作的子报表之间有什么区别。目前我的项目使用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
issplitallowew=“true”
,并且它们使用相同的字体和相同类型的报表元素


如果有人知道为什么一个会正确拆分,另一个不会,我们将非常感谢您的帮助。

我们遇到了相同或至少极其相似的问题。原因不在报告中,而是在子报告的定义中。它被配置为具有多个列,当它到达报告的最后一行时,它再次在第二列的顶部启动

将其设置为单列修复了该问题。下面是我们案例中的简化增量

-<jasperReport ... columnCount="3" pageWidth="240" pageHeight="555" ...>
+<jasperReport ...  pageWidth="240" pageHeight="555" ...>
-
+

现在,如果子报表不适合当前页面,则将从下一页开始使用band。

我们也遇到了几乎相同的问题。这似乎是由子报表本身引起的。如果我们直接使用子报表,并在其中填充足够的内容,使其不适合单个页面,那么它也将开始覆盖顶部的行。