BIRT выдает пустую первую страницу - PullRequest
1 голос
/ 25 февраля 2011

После обновления BIRT с версии 2.3.2 до 2.6.1 в некоторых отчетах начали появляться пустые первые страницы. Я проверил исходный XML-код rptdesign и указанной rptlibrary и убедился, что ВСЕ настройки свойств разрыва страницы установлены на «auto». То есть в определении отчета нет принудительных разрывов страниц. Первая страница содержит элементы верхнего / нижнего колонтитула главной страницы, но не содержит данных.

Будучи относительным новичком в BIRT, я не уверен, куда идти дальше, чтобы решить (или даже отладить) эту проблему. Мой Google-fu обнаружил некоторые старые ошибки BIRT (с периодом 2.1), связанные с пустыми первыми страницами, но они были устранены очень давно.

Может кто-нибудь подсказать, как это отладить?

Первая страница

First Page

Вторая страница

Second Page

1 Ответ

1 голос
/ 28 февраля 2011

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

body
   grid
      column1 width=2%
      column2 width=96%
      column3 width=2%
      row1 (empty) 
      row2
         table with all report content
      row3 (empty)

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

body
    table with all report content

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

Непонятно, если это ошибка или дизайнерское решение, поэтому я спросил на форумах сообщества Eclipse, если такое поведение ожидается. я буду обновите этот ответ, когда я получу окончательный ответ.

РЕДАКТИРОВАТЬ: Похоже на BIRT Ошибка

РЕДАКТИРОВАТЬ: Для нас приемлемым решением является просто удалить первую строку в сетке, которая в любом случае состоит только из пустых ячеек. Если в первой строке (сейчас) появляется слишком большой раздел, ложный разрыв страницы исчезает.

...