如何在每页上获取当前页码和总页数作为变量?

时间:2012-06-22 16:15:48

标签: jasper-reports

我需要在报告上生成OMR代码。我想在每个页面上调用一些服务方法,将页码和总页数作为参数。问题是:如何在每个页面上将这些值(页码,总页数)作为变量?

<background>
    <band height="797">
        <textField>
            <reportElement x="30" y="684" width="100" height="97"/>
            <textFieldExpression><![CDATA[OMRService.generateCode($V{totalPages},$V{pageNumber})]]></textFieldExpression>
        </textField>
    </band>
</background>

2 个答案:

答案 0 :(得分:1)

下面有示例代码,如何在2个不同的textFields中执行此操作。

<textField evaluationTime="Page">
        <reportElement x="0" y="0" width="520" height="15"/>
        <textElement textAlignment="Right"/>
        <textFieldExpression class="java.lang.Integer"><![CDATA[$V{PAGE_NUMBER}+"/"]]>  </textFieldExpression>
</textField>
<textField evaluationTime="Report">
        <reportElement x="521" y="0" width="14" height="15"/>
        <textElement textAlignment="Left"/>
        <textFieldExpression class="java.lang.Integer"><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>

当evaluateTime =&#34; Page&#34;你会得到页码,当&#34;报告&#34;将显示总页数。我不知道如何在一个文本字段中将它们合并在一起(甚至不知道它是否可能 - 我花了很多时间在它上面并且无法解决这个问题)。

答案 1 :(得分:-1)

选择文本字段 将表达式设置为:msg("Page {0} of {1}", $V{V_CURRENT_PAGE_NUMBER}, $V{PAGE_NUMBER})
将评估时间设置为:自动