【发布时间】:2016-07-19 21:11:55
【问题描述】:
在我的代码中,我有大量数据生成到一个大于一页的子报表中的碧玉报表。 当我打印它时,会发生不需要的分页符。当一个元素不适合在同一页上时,有时会在下一页上打印一个元素。
我想要发生的事情:
会发生什么:
这是我的代码:
<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 不应该被拆分。这与乐队或乐队无关!因为它的内容无论如何都大于一页。我没有找到有关该主题的任何信息。
添加诸如组表达式之类的表达式可能会有所帮助?但是我不知道在这里添加什么来说明当没有足够的空间时该行应该打印在下一页上。
我该如何解决?我很感谢您的任何建议。
【问题讨论】: