отчет jasper определяет, присутствует ли на текущей странице диапазон данных или подотчет - PullRequest
0 голосов
/ 29 мая 2020

Я разрабатываю отчет с помощью jasper.

В основном отчете есть несколько вложенных отчетов.

Только один из этих вложенных отчетов имеет фиксированный текст с номером заметки, примерно так.

my text<sup>(2)</sup>

В основном отчете я должен напечатать сноску, но только на всех страницах, на которых присутствует текст с примечанием.

Изображение для лучшего объяснения:

enter image description here

  • Есть ли что-то, что позволяет определить, присутствует ли подотчет на текущей странице?
  • Или что-то, что позволяет определить, присутствует ли подотчет на текущей странице? полоса деталей присутствует на текущей странице?
  • Или что-то, что позволяет определить, будет ли напечатан конкретный текст на текущей странице?
  • Или другая стратегия для обработки этой конкретной ситуации?

Ответы [ 2 ]

1 голос
/ 29 мая 2020

. Создать переменную в основном отчете 'subReportCount' Тип = Целое число, по умолчанию 0 Тип сброса = 'Страница'

. Поместите эту переменную (скрытую) где-нибудь после Subreport

. Создайте переменную SubVar в подотчете, выражение == $ V {REPORT_COUNT}

. В основном, go для свойств подотчета -> Изменить возвращаемые значения -> Установить из переменной = SubVar, To Variable = subReportCount, Тип расчета = Sum

. Печать нижнего колонтитула страницы, когда Expression = $ V {subReportCount}> 0

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

0 голосов
/ 05 июня 2020

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

Переменная в основном отчете

<variable name="subReportCount" class="java.lang.Integer" resetType="Page" incrementType="Page" calculation="Sum">
    <variableExpression><![CDATA[$V{subReportCount}.equals( null ) ? 0 : $V{subReportCount}]]></variableExpression>
    <initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>

Возвращаемое значение для подотчета

<returnValue subreportVariable="SubVar" toVariable="subReportCount"/>

Печатать при выражении для элемента нижнего колонтитула, в моем случае я показываю номер страницы

<printWhenExpression><![CDATA[$V{subReportCount} > 0]]></printWhenExpression>

Это должно сработать, если нет, поделитесь своим младшим xml и образец данных. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...