1

ページを 2 つの列に分割した状況があります。pageNumber をインクリメントして 1 から開始する必要があります。たとえば、最初のページには 1,2、2 番目のページには 3、4 などを指定します。ページ番号フィールドを操作する方法を教えてください。

4

1 に答える 1

2

列数をカウントするための新しい変数を作成できます。

変数の定義は次のようになります。

名前:変数
インクリメント タイプ:
計算:カウント
リセット タイプ:レポート
: $V{変数} + 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 に答える