Я создаю отчет с контактами, которые охватывают разные страницы.
Ранее для меня было установлено значение isSplitAllowed, равное "true".Но я не хочу, чтобы контакт распределялся по разным страницам.Поэтому я установил значение «false», макет отчета выглядел намного лучше.Однако это привело к появлению новой проблемы:
В моем заголовке я печатаю имя первого и последнего лица страницы.Когда контакт перемещается на следующую страницу, он все еще обрабатывается на текущей странице.Допустим, Боб должен был быть внизу первой страницы.Но чтобы предотвратить его расщепление, Боб теперь является первым элементом на второй странице.Однако в заголовке моей первой страницы у меня все еще есть Алиса ... Боб (где Алиса - первая персона первой страницы).И на моей второй странице у меня все еще есть Бренда ... Даг (где Бренда теперь 2-й человек 2-й страницы, а Дуг - последний человек 2-й страницы).
Мой вывод в заголовке - [$ V{pageFirstItem} + "..." + $ V {pageLastItem}]]> *
, где pageFirstItem:
<variable name="pageFirstItem" class="java.lang.String" resetType="Page" calculation="First">
<variableExpression><![CDATA[$F{lastName}]]></variableExpression>
<initialValueExpression><![CDATA[$F{lastName}]]></initialValueExpression>
</variable>
, а pageLastItem:
<variable name="pageLastItem" class="java.lang.String" resetType="Report" calculation="Nothing">
<variableExpression><![CDATA[$F{lastName}]]></variableExpression>