使用iTextSharp的Rowspan无法正常工作

Alb*_*ori 4 c# html-table itext

我正在尝试使用iTextSharp创建一个简单的表,所以要使用C#。目标是一个像这样的表:

问题是,如果我在单元格A上将rowspan设置为2,则iTextSharp不会渲染该rowpanned单元格,这意味着该单元格具有与单元格B相同的高度。这是代码:

    PdfPTable corporateTable = new PdfPTable(2);
    corporateTable.HeaderRows = 1;
    corporateTable.TotalWidth = pdfWidth - 50;

    PdfPCell vCell = new PdfPCell();
    vCell.Border = Rectangle.BOX;
    vCell.Rowspan = 2;
    vCell.Phrase = new Phrase("A", new Font(fontLh, 7f, 1, BaseColor.BLACK));
    corporateTable.CompleteRow();
    corporateTable.AddCell(vCell);


    PdfPCell vCellx = new PdfPCell();
    vCellx.Phrase = new Phrase("B", new Font(fontLh, 7f, 1, BaseColor.BLACK));
    vCellx.Colspan = 3;
    corporateTable.AddCell(vCellx);

    PdfPCell vCell1 = new PdfPCell();
    vCell1.Phrase = new Phrase("C", new Font(fontValue, 7f, 0, BaseColor.BLACK));
    corporateTable.AddCell(vCell1);

    corporateTable.WriteSelectedRows(0, -1, 100f, 100f, writer.DirectContent);
    document.Close();
Run Code Online (Sandbox Code Playgroud)

怎么了?我正在使用最新版本的dll。

Mar*_*oon 5

好吧,基本的答案是:有效!如果再添加两个单元格,则会看到一个单元格(位于A下方的一个单元)没有被填充。

但这不是您所期望的(我也没有)。要达到所需的目的,请使用嵌套表,这意味着:

  • 用两个列创建一个表
  • 将单元格A插入表
  • 创建单元格2
  • 再用1列创建一个表
    • 将单元格B插入表2
    • 将单元格c插入表2
  • 将表2插入单元格2

搜索itext rowpan,您将找到多个完全键入的示例。

hth

马里奥