我对Java / iText相当新,我在让Rowspan(3)合并时遇到了麻烦。我做错了什么?
这就是我要找的东西
这就是我所得到的。我试图将第1,2和3行合并为一行。
这是我目前的表格
table1.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
table1.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE);
table1.addCell(new Phrase(" "));
table1.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
PdfPCell cell = new PdfPCell(new Phrase("ACTUALS", fonti));
cell.setColspan(9);
cell.setBackgroundColor(BaseColor.BLACK);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table1.addCell(cell);
table1.completeRow();
table1.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
table1.getDefaultCell().setRowspan(3);
table1.addCell(new Phrase("1"));
table1.addCell(new Phrase(" "));
table1.addCell(new Phrase(" "));
table1.addCell(new Phrase(" "));
table1.addCell(new Phrase(" "));
table1.addCell(new Phrase(" "));
table1.addCell(new Phrase(" "));
table1.addCell(new Phrase(" "));
table1.addCell(new Phrase(" "));
table1.completeRow();
答案 0 :(得分:0)
根据您分享的图片,您似乎想要更改单元格的高度。要实现这一点,您不能改变高度,但是您可以更改行数。这不是rowspan的用途。只有当相邻单元格只跨越一行时,如果希望特定单元格跨越多行,则只应使用Rowspan。
更改同一行中所有单元格的行数没有任何意义。一行中的所有单元格是仅跨越一行还是三行,并不会对行的可视化表示产生任何影响。
如果要更改行的高度,则需要使用更改高度的方法。请参阅How do setMinimumSize() and setFixedSize() interact?以了解您可以选择哪两种方法。
如果一个典型的行是20个用户单位的高度,使用它来做一行三次高度:
cell.setMinimumHeight(60);
您也可以使用:
cell.setFixedHeight(60);
但这更危险,因为后一种方法会导致内容被删除。