如何限制jasper报告不要在每个组的新页面上启动?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制jasper报告不要在每个组的新页面上启动?相关的知识,希望对你有一定的参考价值。
我是Jasper Reports的新手。在我的项目中,使用的版本是Jasper Reports 3.1.2。问题是:我有一个主报告显示摘要和其他2个子报告。数据基于2个字段进行分组,数据从后端开始(已经分组)。在我的jasper报告中,我有以下组和以下属性集:
<group name="groupName" isStartNewPage="true" isResetPageNumber="true" isReprintHeaderOnEachPage="true" >
<groupExpression><![CDATA[$V{REPORT_COUNT}]]></groupExpression>
<groupHeader>
<band height="0" isSplitAllowed="true" >
</band>
</groupHeader>
<groupFooter>
<band height="0" isSplitAllowed="true" >
</band>
</groupFooter>
</group>
每当看到新组时,它就会在新页面上打印数据。当当前页面上有足够的空间来容纳其他组数据时,我希望数据不会打印在新页面上。
我已经尝试删除“isStartNewPage”属性。另外,尝试使用“keepTogether”属性,但由于它是旧版本的Jasper报告,因此不支持此属性。我也尝试过更改高度值,但没有运气。
当有足够的空间在单个页面上显示记录时,我想将数据保留在一个页面上。
输出:第一页显示摘要数据和2个数据分组的组。第二页显示第一组的数据,该组是第一组的子报告。同样,第三页将在摘要中包含与第二组相关的数据。
贾斯珀报告第1页
贾斯珀报告第2页
答案
该组通过isStartNewPage="true"
属性在新页面上打印数据。当当前页面上有足够的空间时,删除此属性行以在当前页面上打印数据。
试试这个,
<group name="groupName" isResetPageNumber="true" isReprintHeaderOnEachPage="true" >
.......
</group>
以上是关于如何限制jasper报告不要在每个组的新页面上启动?的主要内容,如果未能解决你的问题,请参考以下文章
Jasper Reports在显示组详细信息之前总结了所有组