Как распечатать итоговую сумму только на последней странице очень длинного отчета?
Как сделать так, чтобы общий параметр отображался только на последней странице отчета с множеством понятий.
Отчет повторяется до тех пор, пока список понятий не отобразится на двух или более страницах. Сумма отображается во всех из них, потому что параметр (полученный как $PTotal) находится в нижнем колонтитуле страницы.
Мне нужно, чтобы это отображалось только в нижнем колонтитуле последней страницы. Неважно, если я оставлю это пространство пустым, мне просто нужно, чтобы параметр отображался только на последней странице.
Это не отчет, состоящий из страниц varios, он генерирует несколько страниц, пока список не уместится. Просто для ясности.
Как я могу исправить этот тег параметра с помощью тега printWhenExpression?
4 ответа
Скопируйте ваш нижний колонтитул и переименуйте его в lastPageFooter. Сохраните исходный нижний колонтитул без изменений, но удалите из него текстовое поле для $P{total}. Группа lastPageFooter, включая ваш итог, будет напечатана только на последней странице отчета.
Если вы просто используете итоговую группу для этой цели?
.......
<summary>
<band height="146" splitType="Stretch">
<reportElement .../>
<textElement ...>
<font .../>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$P{total}]]> </textFieldExpression>
</band>
</summary>
</jasperReport>
Попробуйте использовать PrintWhenExpression из
$V{PAGE_NUMBER} == $V{PAGE_COUNT}