iTextSharp:需要帮助在分页后重复表格第一行中的某些列

时间:2011-08-17 15:47:24

标签: itextsharp pdfptable

我正在使用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

任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

在将列表添加到PdfTable之前,请先考虑按日期对列表进行分组。这可以通过使用LINQ轻松实现。分组后,迭代到每个组并在第一列中添加日期组值,然后遍历组中的每个成员,并在第二列中添加所有成员(与日期相关的值)。