I can create multiple rows if they contain the same number of columns:
table = new PdfPTable(3); var firstRowCell1 = new PdfPCell( new Phrase ("Row 1 - Column 1")); var firstRowCell2 = new PdfPCell( new Phrase ("Row 2 - Column 2")); var firstRowCell3 = new PdfPCell( new Phrase ("Row 3 - Column 3")); PdfPCell[] row1Cells = { firstRowCell1, firstLineRow2, firstRowCell3 }; var row1 = new PdfPRow(row1Cells); table.Rows.Add(row1); var nextRowCell1 = new PdfPCell( new Phrase ("Row 2 - Column 1")); var nextRowCell2 = new PdfPCell( new Phrase ("Row 2 - Column 2")); var nextRowCell3 = new PdfPCell( new Phrase ("Row 2 - Column 3")); PdfPCell[] row2Cells = { nextRowCell1, nextRowCell2, nextRowCell3 }; var row2 = new PdfPRow(row2Cells); table.Rows.Add(row2);
This works great, giving me two rows with three columns.

However, if I want the first row to have only one long column using Colspan, it disappears:
var table = new PdfPTable(3); var firstRowCell1 = new PdfPCell(new Phrase("Row 1 - Column 1")); firstRowCell1.Colspan = 3; PdfPCell[] row1Cells = { firstRowCell1 }; var row1 = new PdfPRow(row1Cells); deptHeaderTable.Rows.Add(row1); var nextRowCell1 = new PdfPCell(new Phrase("Row 2 - Column 1")); var nextRowCell2 = new PdfPCell(new Phrase("Row 2 - Column 2")); var nextRowCell3 = new PdfPCell(new Phrase("Row 2 - Column 3")); PdfPCell[] row2Cells = { nextRowCell1, nextRowCell2, nextRowCell3 }; var row2 = new PdfPRow(row2Cells); deptHeaderTable.Rows.Add(row2);

There are no errors as it simply does not display.
Also, I am aware of table.AddCell, which automatically starts a new row when the table column limit is reached for the current row. However, I want to use PdfPRow, if at all possible.
Any help would be greatly appreciated.
pdf-generation itextsharp rows pdfptable
Baxter
source share