変数を作成し、レポートの生成中に変更する方法が見つかりません。
整数変数を宣言しました:
<variable name="my_counter" class="java.lang.Integer" calculation="System">
<initialValueExpression><![CDATA[new Integer(0)]]></initialValueExpression>
</variable>
それは機能しているようで、その値を問題なく出力できます。ただし、レポートの生成中にその値を増やしたい: XML (レポートのデータソース) に特定のパラメーターが含まれている場合、値 (my_counter++) を増やしたい。
疑似コードで達成したいこと:
<textField printWhenExpression="$P{BANANAS}!=null"> ($V{my_counter}++)+" The XML contains <bananas>" </textField>
<textField printWhenExpression="$P{APPLES}!=null"> ($V{my_counter}++)+" The XML contains <apples>" </textField>
<textField printWhenExpression="$P{GRAPES}!=null"> ($V{my_counter}++)+" The XML contains <grapes>" </textField>
<textField printWhenExpression="$P{ORANGES}!=null"> ($V{my_counter}++)+" The XML contains <oranges>" </textField>
バナナ、リンゴ、オレンジを含む XML ファイルの期待される結果は次のようになります。
1. The XML contains <bananas>
2. The XML contains <apples>
3. The XML contains <oranges>
私はそれを試しましたが、現在の結果は次のようになります。
0. The XML contains <bananas>
0. The XML contains <apples>
0. The XML contains <oranges>
したがって、変数my_counter
は変更されていないようです。なんで?表示された各 textField の値を変更するにはどうすればよいですか?