Я создаю документ PDF с помощью iTextSharp. Документ представляет собой набор таблиц. Некоторые таблицы занимают несколько страниц.
Первый столбец - дата. Если несколько строк таблицы имеют одинаковую дату в 1-м столбце, только я вывожу дату только в первой строке, следующие строки имеют пустой столбец - до изменения даты.
Я делаю это, сохраняя значение последнего столбца в переменной и сравнивая его перед добавлением ячейки в новую строку.
Но если таблица не помещается на одной странице, я хочу повторить столбец даты в первой строке после разрыва страницы, чтобы пользователю не приходилось возвращаться на предыдущую страницу, чтобы увидеть дату.
У моей таблицы есть заголовок, и он отлично повторяется на новых страницах (я устанавливаю PdfPTable.HeaderRows).
Я попытался очистить свою переменную, которая хранит дату последней печати в onStartPage и onEndPage, но это не помогло.
В основном я хочу что-то вроде этого:
(начало таблицы)
======================================================= Date Something related to the date ======================================================= 01/01/2011 Something happened on January 1 Something else happened on this day 01/05/2011 Here is another day 01/07/2011 New day Still 01/07/2011 Still there
(После разрыва страницы - таблица продолжается и дата повторяется в 1-й строке)
======================================================= Date Something related to the date ======================================================= 01/07/2011 It is still January 7th but the date column repeats as this is a new page And still the 7th 01/15/2011 New day now 01/17/2011 And another day
Любая помощь будет оценена.
Спасибо
PdfPCellEvent
, значит, ячейка уже записана, и вы не можете это отменить. Лучший способ, который я могу придумать, - это вручную рассчитать высоту этой таблицы, выяснить, где таблица будет перенесена в зависимости от того, где она размещена на странице, и размера страницы, и заполнить пробелы по мере необходимости. - person Chris Haas   schedule 18.08.2011