Как распечатать итоговую сумму только на последней странице очень длинного отчета? - PullRequest
4 голосов
/ 18 августа 2011

Как сделать так, чтобы общий параметр отображался только на последней странице отчета с большим количеством понятий.

Отчет повторяется istelf до тех пор, пока список понятий не отобразится на двух или более страницах.Сумма отображается во всех из них, потому что параметр (полученный как $ PTotal) находится в нижнем колонтитуле страницы.

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

Это не отчет, состоящий из страниц varios, он генерирует несколько страниц, пока список не уместится.Просто чтобы уточнить.

enter image description here

Как я могу исправить этот тег параметра с помощью тега printWhenExpression?

Ответы [ 4 ]

4 голосов
/ 19 августа 2011

Если вы просто используете для этого сводную полосу?

  .......
  <summary>
    <band height="146" splitType="Stretch">
      <reportElement .../>
       <textElement ...>
         <font .../>
       </textElement>
       <textFieldExpression class="java.lang.String"><![CDATA[$P{total}]]>           </textFieldExpression>
    </band>
  </summary>
</jasperReport>
3 голосов
/ 19 августа 2011

Скопируйте свою полосу нижнего колонтитула и переименуйте ее в полосу lastPageFooter.Сохраните исходный нижний колонтитул без изменений, но удалите из него текстовое поле для $ P {total}.Полоса lastPageFooter, включая ваш итог, будет напечатана только на последней странице отчета.

2 голосов
/ 18 августа 2011

Попробуйте использовать PrintWhenExpression

$V{PAGE_NUMBER} == $V{PAGE_COUNT}
1 голос
/ 19 августа 2011

Вы можете попробовать использовать полосу "Last Page Footer"

...