1

我有一个应用程序正在生成报告的多个部分,然后将它们连接在一起以生成 PDF 文档。我们想为每个部分生成适当的页码。我希望将 PAGE_OFFSET 参数传递给每个部分,并使用 PAGE_NUMBER + PAGE_OFFSET 计算新的页码。这可能吗?到目前为止,我尝试过的所有操作都会产生类型转换错误或无效计算。

4

4 回答 4

0

如果我理解正确,您是否希望将此页面偏移量传递给 iReport?

为您的偏移量创建一个新参数:参数类 java.lang.Integer 的 $P{offset}。然后,创建类 java.lang.Integer 的新变量。将变量表达式设置为 $V{PAGE_NUMBER}+$P{offset},将计算设置为空,将重置类型设置为 Page,并将增量类型设置为 None。

于 2013-05-22T18:27:12.163 回答
0

尝试以下步骤

1.) 新建变量mypagenumber;类型integer,reset类型Group,increment类型page,计算类型count;变量表达式$V{mypagenumber},初始值 new Integer(0)。

2.) 在您的报告上放置一个文本字段类型字符串、评估时间页面、文本字段表达式String.valueOf($V{mypagenumber})以提供组内的实际页面或评估时间组,然后选择您的组以提供组内的页面。

于 2014-01-30T10:03:01.067 回答
0

如果您正在搜索“第 1 页,共 3 页”。查看'evaluationTime'的值 你必须这样写:

<textField evaluationTime="Page">
    <reportElement x="328" y="0" width="154" height="20"/>
    <textElement textAlignment="Right" verticalAlignment="Middle">
        <font fontName="Arial" size="9"/>
    </textElement>
    <textFieldExpression class="java.lang.String"><![CDATA["Page"+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
    <reportElement x="485" y="0" width="63" height="20"/>
    <textElement verticalAlignment="Middle">
        <font fontName="Arial" size="9"/>
    </textElement>
    <textFieldExpression class="java.lang.String"><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
于 2014-10-28T17:05:01.463 回答
0

Cristina 对我的代码的更正版本(我使用 iReport 3.7.2)是:

<pageFooter>
    <band height="20">
        <textField evaluationTime="Page">
            <reportElement x="766" y="0" width="154" height="20"/>
            <textElement textAlignment="Right" verticalAlignment="Middle">
                <font fontName="SansSerif" size="9"/>
            </textElement>
            <textFieldExpression class="java.lang.String"><![CDATA["Page "+$V{PAGE_NUMBER}.toString() + " of "]]></textFieldExpression>
        </textField>
        <textField evaluationTime="Report">
            <reportElement x="924" y="0" width="63" height="20"/>
            <textElement verticalAlignment="Middle">
                <font fontName="SansSerif" size="9"/>
            </textElement>
            <textFieldExpression class="java.lang.String"><![CDATA[$V{PAGE_NUMBER}.toString()]]></textFieldExpression>
        </textField>
    </band>
</pageFooter>
于 2016-06-10T09:42:52.107 回答