我使用itext sharp生成了一个包含表格的报告。我想检查表行是否比一个更大。我的表创建是
Document doc = new Document(new Rectangle(570f, 600f));
PdfPTable table = new PdfPTable(2);
table.SetTotalWidth(new float[] { 45f,45f}
cell = new PdfPCell(new Phrase("Name", font));
cell.HorizontalAlignment = Element.ALIGN_LEFT;
table.AddCell(cell);
cell = new PdfPCell(new Phrase("Age", font));
cell.HorizontalAlignment = Element.ALIGN_LEFT;
table.AddCell(cell);
cell = new PdfPCell(new Phrase("Purushu", font2));
table.AddCell(cell);
cell = new PdfPCell(new Phrase("35", font2));
table.AddCell(cell);
doc.Add(table);
我已经添加了这样的表格,并尝试将表格数量计算为
if(table.row.Count>0)
{
string data="1"
}
else
{
string data="2"
}
但如果表格添加与否,则行数始终为'0'
。请让我知道原因?记得它是itext sharp pdf table。
答案 0 :(得分:1)
您可以像这样获取行数:
table.Size
但是,当我查看您在问题的代码段中创建的表时,我看到一个表中零行已完成。您创建一个包含10列的表,但您只添加了4个单元格。
此外,您的代码应该抛出异常:
PdfPTable table = new PdfPTable(10);
table.SetTotalWidth(new float[] { 45f,45f}
您创建一个包含10列的表,但定义列的宽度,就好像只有2列一样。您使用的是流氓版本的iTextSharp(您使用的是哪个版本?),或者您的代码示例不是您的实际代码示例,或者您的代码应该抛出错误,例如:您定义2列的宽度,表格有10列。
你问我:行数总是显示为'0'。请告诉我原因?
我认为主要原因是您在编写代码时存在不准确之处。