1

有一种情况,我将我的页面分为两列。我希望 pageNumber 从 1 开始递增。例如,第一页应该有 1,2,第二页应该有 3、4,依此类推。请告诉我如何操作 pagenumber 字段。

4

1 回答 1

2

您可以创建新变量来计算列数。

变量定义可以是这样的:

名称变量
增量类型
计算计数
重置类型报表
表达式 $V{variable} + 1
初始值表达式 0

样本:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport .. columnCount="2" .. isFloatColumnFooter="true">
    <queryString>
        <![CDATA[SELECT id, city, street FROM address]]>
    </queryString>
    <field name="ID" class="java.lang.Integer"/>
    <field name="CITY" class="java.lang.String"/>
    <field name="STREET" class="java.lang.String"/>
    <variable name="columnsCount" class="java.lang.Integer" incrementType="Column" calculation="Count">
        <variableExpression><![CDATA[$V{columnsCount} + 1]]></variableExpression>
        <initialValueExpression><![CDATA[0]]></initialValueExpression>
    </variable>
    <detail>
        <band height="63" splitType="Stretch">
            <textField>
                <reportElement x="0" y="0" width="48" height="63"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="48" y="0" width="100" height="63"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{CITY}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="148" y="0" width="128" height="63"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{STREET}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
    <columnFooter>
        <band height="50">
            <textField>
                <reportElement x="156" y="30" width="80" height="20"/>
                <textElement textAlignment="Right"/>
                <textFieldExpression><![CDATA["Page "+$V{columnsCount}+" of"]]></textFieldExpression>
            </textField>
            <textField evaluationTime="Report">
                <reportElement x="236" y="30" width="40" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[" " + $V{columnsCount}]]></textFieldExpression>
            </textField>
        </band>
    </columnFooter>
</jasperReport>

结果将是:

iReport 中的预览

于 2012-10-09T07:50:16.060 回答