2014-11-05 62 views
0

我一直在这一天绞尽脑汁。iTextSharp PdfPtable出来空白

这是代码:

private void addFinalCheckdata() 
    { 
     PdfPTable table = new PdfPTable(10); 
     float[] widths = new float[] { 60f, 60f, 60f, 60f, 60f, 60f, 60f, 60f, 260f, 60f }; 
     table.TotalWidth = 800f; 
     table.SetWidths(widths); 
     table.LockedWidth = true; 
     table.HorizontalAlignment = 0; 

     // Add Answers 
     //string value = _LGSRobj.finalCheck.SatisfactoryVisualInspection; 
     PdfPCell cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.EmergencyControl; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.EarthBondingSatisfactory; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.NumberofAppliancesTested; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.serviceTimerSet; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.StartPressure; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.FinishPressure; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.Pass; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.InstallationCaped; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     table.AddCell(cell); 

     _document.Add(table); 
    } 

我已注释的实际值和取代的“Z”,以消除错误的输入数据的可能性。 pdf上的其他表格都很好。只是这一个缺失。

我看不到任何代码问题。也许这是iTextSharp或VS中的错误。有任何想法吗?

回答

1

当我复制/粘贴你的代码,我在评论中添加手机号码,我得到这个:

private void addFinalCheckdata() 
    { 
     PdfPTable table = new PdfPTable(10); 
     float[] widths = new float[] { 60f, 60f, 60f, 60f, 60f, 60f, 60f, 60f, 260f, 60f }; 
     table.TotalWidth = 800f; 
     table.SetWidths(widths); 
     table.LockedWidth = true; 
     table.HorizontalAlignment = 0; 

     // Add Answers 
     //string value = _LGSRobj.finalCheck.SatisfactoryVisualInspection; 
     PdfPCell cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 1 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.EmergencyControl; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 2 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.EarthBondingSatisfactory; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 3 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.NumberofAppliancesTested; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 4 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.serviceTimerSet; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 5 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.StartPressure; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 6 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.FinishPressure; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 7 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.Pass; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 8 
     table.AddCell(cell); 

     //value = _LGSRobj.finalCheck.InstallationCaped; 
     cell = new PdfPCell(new Phrase("z", _fntNormal7)); 
     // 9 
     table.AddCell(cell); 

     _document.Add(table); 
    } 

要创建一个使用10列的表:

PdfPTable table = new PdfPTable(10); 

然而,你是只增加9个细胞。因此,表格不完整。据记载,从未显示不完整的行。

要么将​​表格换成9列的表格,要么添加一个额外的单元格(有一种方法可以自动完成,如果您不想自己添加)。