Распечатать когда (последний элемент достигнут) Выражение в JasperReports - PullRequest
2 голосов
/ 24 января 2012

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

По сути, у меня есть отчет с разрывом столбца после вложенного отчета в полосе подробностей, чтобы я мог четко определить новые страницы для начала новой записи. Но это всегда оставляет меня с пустой последней страницей. Поэтому я надеюсь, что смогу предотвратить это, если у меня будет условие печати, которое предотвращает разрыв столбца, если это последний элемент записи в источнике данных XML.

Возможно ли это вообще?

1 Ответ

1 голос
/ 25 января 2012

Проблема в том, что вы не знаете, что это последний элемент, пока не найдете следующий элемент.Я не думаю, что есть простой способ.

В принципе должно быть хорошо сделать что-то вроде этого:Создайте супер-отчет по всему отчету.Запустите тот же запрос в супер-отчете.Посчитай ряды.Затем передайте количество строк в исходный отчет (который теперь является вложенным отчетом) и повторите запрос еще раз.Ясно, что выполнение запроса дважды является еще одним недостатком.

Если бы источником данных был SQL, я бы предложил изменить SQL так, чтобы он возвращал количество строк как часть набора результатов.Но для источников данных, отличных от SQL, вам нужен какой-то способ узнать количество строк (ну ... какой-то способ идентифицировать последнюю строку), прежде чем вы достигнете последней строки.

...