Подтвердить что ты не робот

Избегайте повторения заголовка столбца в JRXML

Как избежать повторения имени столбца в JRXML? Есть ли какой-либо атрибут для исключения заголовка столбца на каждой странице при создании отчета с использованием JRXML и Jasper?

4b9b3361

Ответ 1

Если заголовок всегда будет на определенной странице (например, на первой странице), вы можете добавить

<printWhenExpression><![CDATA[$V{PAGE_NUMBER}==1]]></printWhenExpression>

что сделает его печать только на странице 1. PAGE_NUMBER - встроенная переменная, которая автоматически увеличивается при создании отчета.

Ответ 2

Установите в свой код Java следующий параметр, если вы используете java для заполнения отчета:

parameters.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);

Ответ 3

В теге отчета jasper put   isIgnorePagination="true"

Ответ 5

Есть ли какой-либо атрибут, чтобы избежать заголовка столбца на каждой странице при создании отчета с использованием JRXML и Jasper?

Вы можете использовать свойство isPrintInFirstWholeBand и переместить заголовок столбца в диапазон Group Header (или Title, если у вас нет группы).

Ответ 6

Более простой вариант - выбрать "Заголовок таблицы", который будет использоваться для заголовка вместо "Заголовок столбца".

Я также столкнулся с такой же проблемой, и это решение сработало для меня.

Ответ 7

Создайте фиктивную группу и используйте группу Footer Band. Это сделало трюк для меня, поскольку итоговая группа уже использовалась.

Ответ 8

Я попробовал:

     params.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);

Но, я получил длинную страницу 1/1, что печатать нелегко без разделения строки пополам.

Вместо этого я выбрал второй подход от дизайнера iReport:

1 - создать новые пустые ячейки в заголовке таблицы.

2. Переместите ячейки (ячейки заголовка) из заголовка столбца в заголовок таблицы, перетаскивая их одну за другой.

3-Удалите пустые ячейки в заголовке столбца.

4-Дизайн нового фона ячеек, выбрав их, выбрав Backcolor из свойств, или выбрав столбец (таблицу) для определения стиля, выберите table 1_CH из свойств.

enter image description here

Ответ 9

Я бы просто не использовал заголовок столбца, когда смогу. По какой-то причине заголовки групп предоставляют пользователям гораздо больше возможностей и гибкости. Поэтому, даже если я не использую группы в своем отчете, я создаю "константную группу", которая использует константное выражение как groupExpression, а затем использую этот заголовок группы в качестве заголовка столбца отчета.

С помощью постоянного выражения, такого как true, группа никогда не меняется, поскольку она не зависит от набора данных. И поскольку он никогда не изменяется, он не только никогда не будет напечатан дважды автоматически, он также предоставит возможность повторной печати на каждой странице (среди других вариантов), просто установив флажок в студии JasperSoft (или добавив соответствующий атрибут в групповой тег).

Преимущества перед деактивацией нумерации страниц или использованием зависимой от страницы printWhenExpression:

  • не зависит от номера страницы, на которой заголовок появляется впервые (титульный лист или динамический контент могут перенести первый вид на вторую или третью страницу)
  • позволяет разбивать на страницы (удобно экспортировать в формате PDF с верхними и нижними колонтитулами страниц)
  • предлагает больше опций, чем стандартный заголовок столбца

Downsides

  • добавляет сложности в отчет

Вот пример для неповторяющегося определения заголовка группы констант в JRXML:

<group name="columnHeaderGroup" isReprintHeaderOnEachPage="false">
    <groupExpression><![CDATA["a constant"]]></groupExpression>
    <groupHeader>
        <band height="20">
            <!-- any column header content like Static Texts or Text Fields -->
        </band>
    </groupHeader>
</group>

Обратите внимание, что вы также можете просто удалить isReprintHeaderOnEachPage="false", так как это поведение по умолчанию.

Ответ 10

Мы также можем использовать нижнюю строку, чтобы избежать повторения columnHeader