2017-10-25 4 views
0

私はPDFレポートをいくつかのページに分割しています。 すべてのページに1つ以上のグループがあります。私が必要とするのは、そのページ内の現在のグループ番号のカウントで、ページの変更時にリセットされます。 ページ内の最初のグループは1、次のグループは2な​​ど... ページを変更すると、カウントは1から再開する必要があります。Jasper Report - 現在のグループ数ページ内

私はこの良い変数の定義を見つけましたが、ページ全体を無視してレポート全体の現在のグループ番号を数えます。

<variable name="currentGroupNumber" class="java.lang.Integer" incrementType="Group" incrementGroup="GroupName"> 
    <variableExpression><![CDATA[($V{GroupName_COUNT} == 1) ? $V{currentGroupNumber}+1 : $V{currentGroupNumber}]]></variableExpression> 
    <initialValueExpression><![CDATA[1]]></initialValueExpression> 
</variable> 

答えて

0

変数はまた、変数は、それは、以下のような何かを行う可能性があるはずですより少し複雑に見えるresetType="Page"

が欠落しています。

<variable name="currentGroupNumber" class="java.lang.Integer" calculation="Count" incrementType="Group" incrementGroup="GroupName" resetType="Page"> 
    <variableExpression><![CDATA["foo"]]></variableExpression> 
</variable> 
+0

は答えてくれてありがとうませんが、どちらもこのソリューションは動作します。残念なことに、Jasperは "keep togheter"というオプションでグループを管理するのに大きな問題があります。このフラグのためにグループが別のページに移動されると、カウントまたはリセット機能はすべて移動前に計算されるため、以前のページのようなデータを持つ新しいページにグループが表示されます。 – MrMime

関連する問題