Jasper Reports - печать при изменении группы - PullRequest
7 голосов
/ 04 апреля 2009

Я пытаюсь распечатать последнюю запись группы, но выражение print when group changes: True, похоже, не работает. Он просто печатает все записи этой группы. (Я сгруппировал запись по имени пользователя).

Ответы [ 3 ]

13 голосов
/ 15 июля 2009

У меня были проблемы с той же проблемой. Вот работа, которую я придумал:

JasperReports имеет несколько автоматически сгенерированных переменных, которые могут помочь вам достичь того, что вы хотите. Для каждой создаваемой вами группы есть счетчик, который отслеживает количество элементов в вашей текущей группе:

yourGroupName_COUNT

В вашем printWhenExpression просто добавьте выражение, подобное следующему, чтобы печатать текстовое поле только при разрыве вашей группы:

$V{yourGroupName_COUNT}==1

1009 * Бенджамин *

6 голосов
/ 24 ноября 2009

Я не думаю, что атрибут делает то, что вы думаете, он делает. Предполагается, что он будет использоваться вместе с isPrintRepeatedValues ​​= "false" и работает следующим образом:

«если повторяющееся значение, которое вы подавили, охватывает несколько групп, вы можете сделать так, чтобы оно появлялось в начале определенной группы отчетов, если вы указали имя этой конкретной группы в атрибуте printWhenGroupChanges» Ultimate Guide стр. 116

2 голосов
/ 29 июня 2009

Я никогда не использовал функцию «печать при изменении группы», но, пробуя ее сейчас в новом отчете, я понимаю, что вы имеете в виду - он печатает для каждой подробной записи, даже если группа не меняется.

Вместо использования флага «печать при изменении группы» снимите флажок «печать повторных значений», это, вероятно, даст вам то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...