Как ограничить запуск отчета яшмы на новой странице для каждой группы? - PullRequest
0 голосов
/ 19 апреля 2019

Я новичок в Jasper Reports. В моем проекте используется версия Jasper Reports 3.1.2. Проблема: у меня есть основной отчет, который отображает сводку и 2 других подотчета. Данные сгруппированы на основе 2 полей, и данные поступают (уже сгруппированы) из серверной части. В моем отчете о яшме у меня есть следующая группа и установлены следующие свойства:

<group name="groupName" isStartNewPage="true" isResetPageNumber="true" isReprintHeaderOnEachPage="true" >
        <groupExpression><![CDATA[$V{REPORT_COUNT}]]></groupExpression>
        <groupHeader>
        <band height="0"  isSplitAllowed="true" >
        </band>
        </groupHeader>
        <groupFooter>
        <band height="0"  isSplitAllowed="true" >
        </band>
        </groupFooter>
    </group>

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

Я уже пытался удалить свойство isStartNewPage. Также попытался установить свойство keepTogether, но поскольку это старая версия отчета Jasper, это свойство не поддерживается. Я также пытался изменить значения высоты, но не повезло.

Я хочу сохранить данные на одной странице, когда достаточно места для отображения записей на одной странице.

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

Jasper Report Page 1

enter image description here

Jasper Report Page 2

enter image description here

1 Ответ

0 голосов
/ 22 апреля 2019

эта группа печатает данные на новой странице с помощью свойства isStartNewPage="true". удалите эту строку свойств для печати данных на текущей странице, если на текущей странице достаточно места.

попробуйте с этим,

<group name="groupName" isResetPageNumber="true" isReprintHeaderOnEachPage="true" >
    .......
</group>
...