我究竟做错了什么? Rowspan不会改变

时间:2016-03-11 19:12:13

标签: java itext

我对Java / iText相当新,我在让Rowspan(3)合并时遇到了麻烦。我做错了什么?

这就是我要找的东西

enter image description here

这就是我所得到的。我试图将第1,2和3行合并为一行。

这是我目前的表格

enter image description here

      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();

1 个答案:

答案 0 :(得分:0)

根据您分享的图片,您似乎想要更改单元格的高度。要实现这一点,您不能改变高度,但是您可以更改行数。这不是rowspan的用途。只有当相邻单元格只跨越一行时,如果希望特定单元格跨越多行,则只应使用Rowspan。

更改同一行中所有单元格的行数没有任何意义。一行中的所有单元格是仅跨越一行还是三行,并不会对行的可视化表示产生任何影响。

如果要更改行的高度,则需要使用更改高度的方法。请参阅How do setMinimumSize() and setFixedSize() interact?以了解您可以选择哪两种方法。

如果一个典型的行是20个用户单位的高度,使用它来做一行三次高度:

cell.setMinimumHeight(60);

您也可以使用:

cell.setFixedHeight(60);

但这更危险,因为后一种方法会导致内容被删除。