Я использую JasperReports и iReport (вывод к PDF), и у меня есть проблема с определенным отчетом:
В отчете я определил группу. В среднем каждый "экземпляр" той группы только содержит небольшое количество строк детали, таким образом, я не хочу, чтобы каждый из них запустился на новой странице, так как это был бы расход бумаги (вывод печатается на бумаге).
Но с другой стороны, я не хочу иметь группу, которая запускается на одной странице и заканчивается на следующей. Например, если на странице 1 я могу соответствовать первым двум группам и половине третьей группы, я хочу, чтобы вся третья группа запустилась на странице 2 и так далее.
Там какой-либо путь состоит в том, чтобы сделать это?
Свойство
keepTogether
делает именно то, что вы хотите! Он был добавлен примерно в Jasper 3.6.2, см. это обсуждение .
Итак:
<group name="CITY" keepTogether="true">
<groupExpression><![CDATA[$F{CITY}]]></groupExpression>
<groupHeader>
...
</groupHeader>
</group>