2

我正在使用 jasperreport-4.5.0 生成报告。它正在正确生成报告。但是如果我的数据库中有大量数据,那么报告会显示在不同的页面中。所以我的要求是如果我的报告有 12 页,那么我想要显示第 1 页(共 12 页)、第 2 页(共 12 页)、第 3 页(共 12 页)……就像在我的页眉带中一样。我该如何做到这一点,任何人都可以对此给出一个想法。

4

1 回答 1

9

您可以使用 evaluationTime="Report" 属性来实现此目的。

考虑以下示例,我们首先打印“PAGE”,然后使用默认的 evalutaionTime 属性打印页码。这将打印当前页码,然后我们打印 OF,最后打印评估时间设置为“报告”的页码,这将打印总页数。

        <band height="20">
        <elementGroup>
            <textField>
                <reportElement positionType="FixRelativeToBottom" x="709" y="0" width="53" height="20"/>
                <textElement verticalAlignment="Top">
                    <font size="12"/>
                </textElement>
                <textFieldExpression><![CDATA["PAGE"]]></textFieldExpression>
            </textField>

            <textField>
                <reportElement positionType="FixRelativeToBottom" x="762" y="0" width="23" height="20"/>
                <textElement>
                    <font size="12"/>
                </textElement>
                <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
            </textField>

            <textField>
                <reportElement positionType="FixRelativeToBottom" x="785" y="0" width="29" height="20"/>
                <textElement>
                    <font size="12"/>
                </textElement>
                <textFieldExpression><![CDATA["OF"]]></textFieldExpression>
            </textField>

            <textField evaluationTime="Report">
                <reportElement positionType="FixRelativeToBottom" x="814" y="0" width="26" height="20"/>
                <textElement>
                    <font size="12"/>
                </textElement>
                <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
            </textField>

        </elementGroup>
    </band>
于 2012-06-06T14:01:53.810 回答