Как заставить группы JasperReports запускаться на новой странице только при необходимости? - PullRequest
9 голосов
/ 11 июля 2010

Я использую JasperReports и iReport (вывод в PDF), и у меня проблема с определенным отчетом:

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

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

Есть ли способ сделать это?

Ответы [ 4 ]

12 голосов
/ 15 октября 2015

Свойство group для keepTogether и isStartNewPage решит вашу проблему, вместе создаст групповой результат и всегда начнет новую группу с новой страницы.

<group name="CITY" isStartNewPage="true" keepTogether="true">
  <groupExpression><![CDATA[$F{CITY}]]></groupExpression>
   <groupHeader>
    ...
  </groupHeader>
</group>
7 голосов
/ 18 августа 2010

Свойство <group> keepTogether делает именно то, что вы хотите! Он был добавлен в Jasper 3.6.2, см. это обсуждение .

Итак:

<group name="CITY" keepTogether="true">
  <groupExpression><![CDATA[$F{CITY}]]></groupExpression>
  <groupHeader>
  ...
  </groupHeader>
</group>
1 голос
/ 16 сентября 2013

Щелкните правой кнопкой мыши на полосе подробностей и добавьте еще одну полосу подробностей. Вы можете сгруппировать свою страницу, используя эти блоки детальной полосы.

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

0 голосов
/ 12 марта 2015

Для отображения данных группы на новой странице в компоненте Таблица нам необходимо установить следующие свойства.

  1. Право на имя группы -> Дополнительные свойства -> выберите новую страницу как true.
  2. наблюдать за выводом, данные группы отображаются на новой странице.

С уважением,

Хариш

...