在我的代码中,我有大量数据生成到子报表中大于一页的jasper报表。 当我打印它时会发生不需要的分页。当一个元素不适合同一页面时,它有时会打印在下一页上。
我想要发生的事情:
会发生什么:
这是我的代码:
<group name="ExampleGroup">
<groupExpression><![CDATA[null]]></groupExpression>
<groupHeader>
<band height="17" splitType="Stretch">
<subreport isUsingCache="true">
<reportElement key="subreport-1" positionType="Float" x="0" y="0" width="594" height="16" uuid="some uuid"/>
<parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
<dataSourceExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}.get("DataSource")]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}.get("Data")]]></subreportExpression>
</subreport>
</band>
</groupHeader>
<groupFooter>
<band splitType="Stretch"/>
</groupFooter>
</group>
我已经尝试通过添加参数来解决问题,例如splitType =“Prevent”或keepTogether =“true”但两者都导致空页发生。我找到的参数仅在乐队打印在同一页面上时才有用。但在我的情况下,生成的reportElements不应该被拆分。这不是关于团体或乐队!因为它的内容无论如何都大于一页。我没有发现任何有关该主题的内容。
添加像表达式这样的表达式可能会有所帮助吗?但是我不知道在这里添加什么来说当没有足够的空间时应该在下一页上打印行。
我怎么能解决这个问题?我很感激任何建议。
答案 0 :(得分:1)
我通过添加splitType =&#34; Prevent&#34;解决了这个问题。到子报表中调用的详细信息中的波段。