3

jasper reports-4.5.0 を使用しています。このジャスパーを使用して、さまざまな形式でレポートを生成しています。レポートにページ X/Y を表示したいと考えています。そのため、パレットで使用できる iReport 提供のページ番号テキスト フィールドを使用しています。単一ページのレポートでも、すべてのレポートにページ番号が表示されます。

したがって、私の要件は、レポートに 1 ページしかない場合、x/y ページは必要ないということです。どうすればこれを達成できますか?

以下のコードは、現在、与えられた答えに従って使用しています。

<textField>
                    <reportElement x="395" y="121" width="20" height="20">
                       <printWhenExpression><![CDATA[$V{PAGE_COUNT} > 1]]></printWhenExpression>
                    </reportElement>
                    <textElement textAlignment="Right"/>
                    <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
                </textField>
                <textField evaluationTime="Report">
                    <reportElement x="350" y="121" width="45" height="20">
                    <printWhenExpression><![CDATA[$V{PAGE_COUNT} > 1]]></printWhenExpression>
                    </reportElement>
                    <textElement/>
                    <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
                </textField>

このように使用すると、複数のページがあるレポートでページ番号を取得できません。

4

1 に答える 1

1

Print When Expressionとを含む2つのフィールドにを設定する必要が"Page "+$V{PAGE_NUMBER}+" of"あり" " + $V{PAGE_NUMBER}ます。この2つのフィールドを持つjrxml部分は、次のようになります。

<textField>
    <reportElement uuid="90a3462d-cfa2-4768-904a-1edf4191f1b7" x="250" y="16" width="80" height="20">
        <printWhenExpression><![CDATA[$V{PAGE_COUNT} > 1]]></printWhenExpression>
    </reportElement>
    <textElement textAlignment="Right"/>
    <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
    <reportElement uuid="01d43267-3247-48bb-9822-8b58ea860d7f" x="330" y="16" width="40" height="20">
        <printWhenExpression><![CDATA[$V{PAGE_COUNT} > 1]]></printWhenExpression>
    </reportElement>
    <textElement/>
    <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
于 2012-06-28T18:13:45.653 に答える