我是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();
最佳答案
根据您共享的图像,看起来好像您要更改单元格的高度。为此,您无需更改高度,但可以更改行距。那不是行跨度的目的。仅当相邻单元格仅跨一行时,希望特定单元格跨多行时,才应使用行跨度。
更改同一行中所有单元格的行距没有任何意义。一行中的所有单元格仅跨一行还是跨三行,对行的视觉表示没有任何影响。
如果要更改行的高度,则需要使用一种更改高度的方法。请参见How do setMinimumSize() and setFixedSize() interact?找出可以选择的两种方法。
如果典型行的高度为20个用户单位,请使用此高度使行高三次:
cell.setMinimumHeight(60);
您还可以使用:
cell.setFixedHeight(60);
但这比较危险,因为后一种方法可能会导致内容丢失。