我正在生成一个报告,其中包含跨越不同页面的联系人。JasperReports:如何判断一个字段是否被推送到下一页
以前我把isSplitAllowed设置为“true”。 但我不希望联系人分散到不同的页面。 所以我把它设置为“false”,报告的布局看起来好多了。然而它引入了一个新问题:
在我的标题中,我打印了页面的第一个人和最后一个人的名字。 当联系人被推送到下一页时,它仍在当前页面中处理。 假设Bob应该在第一页的底部。但为了防止它分裂,Bob现在是第二页中的第一个元素。 但是,在我的第一页的标题上,我仍然有Alice ... Bob(Alice是第一页的第一个人)。 在我的第二页上,我仍然有布伦达......道格(布伦达现在是第二页的第二人,道格最后一个人的第二页)。
我在报头输出是 [$ V {pageFirstItem} + “...” + $ V {pageLastItem}]]>
其中pageFirstItem是:
<variable name="pageFirstItem" class="java.lang.String" resetType="Page" calculation="First">
<variableExpression><![CDATA[$F{lastName}]]></variableExpression>
<initialValueExpression><![CDATA[$F{lastName}]]></initialValueExpression>
</variable>
和pageLastItem是:
<variable name="pageLastItem" class="java.lang.String" resetType="Report" calculation="Nothing"> <variableExpression><![CDATA[$F{lastName}]]></variableExpression>