0

我需要在报告上生成 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>
4

2 回答 2

1

下面您有示例代码如何在 2 个不同的文本字段中执行此操作。

<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>

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

于 2014-05-26T11:50:57.800 回答
-1

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

于 2017-12-07T08:26:55.303 回答