我正在使用iTextSharp创建PDF文档。该文件是一堆表。有些表格跨越几页。
第一列是日期。如果表的多行在第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
任何帮助将不胜感激。
由于
答案 0 :(得分:0)
在将列表添加到PdfTable之前,请先考虑按日期对列表进行分组。这可以通过使用LINQ轻松实现。分组后,迭代到每个组并在第一列中添加日期组值,然后遍历组中的每个成员,并在第二列中添加所有成员(与日期相关的值)。