我在iText中创建了一个列出日期事件的表格。如果日期有多个事件,我将date-cell的rowspan属性设置为事件数。我目前正在为每个事件使用一行,因为我想显示该事件的其他信息并希望保持对齐。 Basicly我的表可以是这样的:iText表格 - 如何在一页上保留多行单元格?
Date | Event | Details
--------+-----------+---------------
date 1 | event 1 | details 1
--------+-----------+---------------
date 2 | event 2 1 | more
| | details 2 1
+-----------+---------------
| event 2 2 | details 2 2
--------+-----------+---------------
含date 2
细胞具有2
一个行跨度我加在循环中使用ColumnText.go()
表。
如果我将表格写入文档并且只有足够的空间用于event 2 1
,则event 2 2
将转到新页面。如何在添加date 2
之前强制新页面?使用PdfPTable.setSplitLate(true)
似乎不影响多行单元格。也没有将date 2
单元的固定高度设置为两行的组合高度。
一种解决方案将是使用嵌套表列2和3(和治疗柱2和3作为一列)
另一种解决方案,即不能正确地在iText的版本一起我使用的是使用
PdfPTable.writeSelectedRows()
并只写出适合页面的(组合)行。问题是,这种方式忽略行跨度,并且单元格看起来像只跨越一行。
还有其他方法吗?
当前iText中的一种可能的解决方案可能是'PdfPTable.keepRowsTogether(int [])' - 不幸的是它在iText版本中不可用,我必须使用 – Cryn 2013-05-14 09:05:27
您正在使用哪个版本? – 2015-09-03 09:24:15