我需要启用3种页眉类型的报告:“第一页页眉”,“中间页页眉”和“最后一页页眉”。所有这些标头可以具有不同数量的报表元素,并且位于不同的位置。页脚也一样。
注意:报表必须在其detail
频段中支持jr:table或jr:list等报表元素。这些元素必须通过xml数据源与数据一起提供。
我能够通过使用title
band来模拟第一页标题,但在启用“中间页标题”和“最后页标题”时遇到了问题。这就是我要做的:
<pageHeader>
<band height="100" splitType="Stretch">
<frame>
<reportElement x="0" y="0" height="100" width="555" uuid="f788c74b-6853-4bc7-8ed7-5e3d538287c9" isRemoveLineWhenBlank="true">
<printWhenExpression>
<![CDATA[new Boolean($V{PAGE_NUMBER} == $V{PAGE_COUNT})]]>
</printWhenExpression>
</reportElement>
<staticText>
<reportElement x="1" y="1" width="100" height="20" uuid="9777208b-5323-4045-aa49-a849d5c00c89"/>
<text><![CDATA[LAST PAGE HEADER TEXT 1]]></text>
</staticText>
<staticText>
<reportElement x="50" y="10" width="200" height="50" uuid="15313676-09e6-4d17-ac75-2df99f61bfee"/>
<text><![CDATA[LAST PAGE HEADER TEXT 2]]></text>
</staticText>
</frame>
<frame>
<reportElement x="0" y="0" height="100" width="555" uuid="65577abd-8717-477a-f27e-c70e9eba46af" isRemoveLineWhenBlank="true">
<printWhenExpression>
<![CDATA[new Boolean($V{PAGE_NUMBER} != 1) && new Boolean($V{PAGE_NUMBER} != $V{PAGE_COUNT})]]>
</printWhenExpression>
</reportElement>
<staticText>
<reportElement x="70" y="0" width="300" height="100" uuid="0a866eb3-85cf-4376-d6a4-21b534d36df0"/>
<text><![CDATA[MIDDLE PAGE HEADER TEXT 1]]></text>
</staticText>
</frame>
</band>
</pageHeader>
<printWhenExpression>
<![CDATA[new Boolean($V{PAGE_NUMBER} == $V{PAGE_COUNT})]]>
</printWhenExpression>
有没有办法检查当前页是不是最后一页?还有,是否有其他方法来启用“中间页”和“最后页”标题?
注意:我能够通过使用框架
和最后一页页脚
带为页脚实现类似的逻辑!
首先:$v{PAGE_COUNT}
是
生成当前页时处理的记录数。因此,您在页面中拥有的记录数,而不是页码数...
在pagefooter
和lastpagefooter
ReportElement
中,ReportElement
可以有负Y坐标(如果IDE不允许,则需要手动编辑jrxml)ES。y=“-700”,它允许您将信息放在pageHeader和last pageHeader...
<printWhenExpression><![CDATA[new Boolean($V{PAGE_NUMBER}.intValue()==1)]]></printWhenExpression>
中间页
在框架使用上:
<printWhenExpression><![CDATA[new Boolean($V{PAGE_NUMBER}.intValue()>1)]]></printWhenExpression>
页脚
中,并使用负y坐标。页脚
带。我是Jasper报告的新手。我有一个包含2组的报告。根据查询,正在打印多页。 第一组高度 - 95分,第二组高度 - 144分 我希望这些多页打印在一页中(我希望一页中包含5页)。每页高度为239点。(即使页面内容小于239分,我希望将剩余部分保留为空白,并在239分后开始下一页)。我尝试创建一个报告,并将上述报告作为子报告,并设置主报告的高度为1195(239*5)点。尽管如此,这些都被打印在不
我只想在第一页和最后一页打印页脚。我怎样才能做到这一点?
我在主报表中有一个子报表和页脚,我需要隐藏子报表部分的页脚。有没有办法做到这一点? 详情:我有主要报告。它有几个细节带和一个页脚。其中一个细节带(细节4)用从查询返回的数据填充。在这个带之后是“细节5”带,其中只有子报告,这是最后一个细节带。我的子报告包含几页文本。我需要页脚从我的主要报告不显示在这几页。所以我需要的是:页脚应该应用于页面,这是在细节带1-4生成的,但不是“细节5”。
我正在使用jasperreport-4.5.0生成报告。它正在正确地生成报告。但是如果我的数据库中有大量数据,那么报告vl会显示在不同的页面中。所以我的要求是,如果我的报告有12页,那么我想显示12页中的第1页,12页中的第2页,12页中的第3页……就像我的页眉带一样。我怎么能做到这一点,任何人都可以对此提出一个想法。
诸如此类。 我尝试使用iReport将“组页脚”频段中的最大化频段高度属性设置为true,但当我尝试查看时,会添加一些空页。