ページを 2 つの列に分割した状況があります。pageNumber をインクリメントして 1 から開始する必要があります。たとえば、最初のページには 1,2、2 番目のページには 3、4 などを指定します。ページ番号フィールドを操作する方法を教えてください。
質問する
1125 次
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>
結果は次のようになります。
于 2012-10-09T07:50:16.060 に答える