Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I use PdfPTable in the following way

var myTable = new PdfPTable( 3 );

foreach(var nextString in myStrings)
{

var nextCell = new PdfPCell( new Phrase( nextString, smallFont ) );
nextCell.Border = Rectangle.NO_BORDER;
nextCell.AddCell(nextCell);
}

pdfDocument.Add(myTable);

All is perfect then total cell count multiply the number of columns (3). But when I wanted to create a table with 3 columns but 4 cells - last row is not visible.

How to solve such issue?

itextsharp 5.3.3.0

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
449 views
Welcome To Ask or Share your Answers For Others

1 Answer

To solve this issue and others I recommend the use of the PdfPTable method CompleteRow().

This will ensure that any incomplete rows have extra cells added to make them complete so that they show up in the generated PDF.

Generally, an incomplete row will be a logic error however by using CompleteRow() you can easily identify where you have made these errors, and correct them.

In terms of your example:

var myTable = new PdfPTable( 3 );

foreach(var nextString in myStrings)
{
    var nextCell = new PdfPCell( new Phrase( nextString, smallFont ) );
    nextCell.Border = Rectangle.NO_BORDER;
    nextCell.AddCell(nextCell);
}

myTable.CompleteRow();

pdfDocument.Add(myTable);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...