iTextSharp:合并最后一列(Colspan)

时间:2011-11-17 12:31:59

标签: c# reporting itextsharp

我有一张桌子,这张桌子有3列。在每列中,都有一张类似于图片的表格。 我做了一个生成表的方法,这个方法在参数中接收一个列表并在其上循环 addCell到表

我想要一行代替5列... 1 + 1(colspan of 4)。当我做一个colspan 首先合并4个,我想合并最后4个并保留第一个。

我该怎么做?

谢谢,

enter image description here enter image description here

2 个答案:

答案 0 :(得分:9)

您只需按照希望它们跨越的顺序将单元格添加到表格中。如果您在第一个单元格之前添加跨区单元格,那么它们就会出现。

PdfPTable t = new PdfPTable(5);
//Row 1
t.AddCell("R1C1");
t.AddCell("R1C2");
t.AddCell("R1C3");
t.AddCell("R1C4");
t.AddCell("R1C5");

//Row 2 - One regular cell followed by four spanned cells
t.AddCell("R2C1");
t.AddCell(new PdfPCell(new Phrase("R2C2-5")) { Colspan = 4 });

//Row 3 - Four spanned cells followed by one regular cell
t.AddCell(new PdfPCell(new Phrase("R3C1-4")) { Colspan = 4 });
t.AddCell("R3C5");

答案 1 :(得分:0)

        table.AddCell("Row 1, Col 1");
        table.AddCell("Row 1, Col 2");
        table.AddCell("Row 1, Col 3");

        table.AddCell("Row 2, Col 1");
        table.AddCell(new PdfPCell(new Phrase("R2, C2")) { Colspan = 2 }); // table.AddCell("Row 2, Col 2");
        //table.AddCell("Row 2, Col 3");

        table.AddCell(new PdfPCell(new Phrase("R3, C1")) { Rowspan = 2 }); //table.AddCell("Row 3, Col 1");
        table.AddCell("Row 3, Col 2");
        table.AddCell("Row 3, Col 3");

        //table.AddCell("Row 4, Col 1");
        table.AddCell("Row 4, Col 2");
        table.AddCell("Row 4, Col 3");