przyrost zmiennej ręcznej
Nie mogę znaleźć sposobu, aby po prostu utworzyć zmienną i zmodyfikować ją podczas generowania raportu.
Zadeklarowałem zmienną całkowitą:
<variable name="my_counter" class="java.lang.Integer" calculation="System">
<initialValueExpression><![CDATA[new Integer(0)]]></initialValueExpression>
</variable>
To wydaje się działać i mogę wydrukować jego wartość bez problemów. Ale chcę zwiększyć tę wartość podczas generowania raportu: kiedy XML (źródło danych dla raportu) zawiera pewne parametry, chcę zwiększyć wartość (my_counter ++).
Co chcę osiągnąć, w pseudokodzie:
<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>
Oczekiwany wynik w przypadku pliku XML zawierającego banany, jabłka i pomarańcze będą:
1. The XML contains <bananas>
2. The XML contains <apples>
3. The XML contains <oranges>
Próbowałem tego, alebieżący wynik wygląda bardziej tak:
0. The XML contains <bananas>
0. The XML contains <apples>
0. The XML contains <oranges>
Wydaje się więc, że zmiennamy_counter
nie jest modyfikowany. Czemu? Jak mogę zmodyfikować jego wartość dla każdego wyświetlanego pola tekstowego?