2014-01-20 165 views
0

我试图定义列的一个系列,将我的PdfPTable内推的填充...PdfPTable.DefaultCell.Padding似乎不起作用

这是我的代码:

PdfPTable table = new PdfPTable(6); 
table.WidthPercentage = 100; 
table.SetWidths(new float[]{25, 25, 16, 11, 11, 11}); 
table.DefaultCell.Padding = 3; 

有一些错误,因为当表生成时,它在任何地方都没有填充。

预先感谢您。

回答

3

请参阅创建iText的this post。当使用字符串,短语,图像或其他表格调用AddCell时,只能使用DefaultCell。当您使用New PdfPCell()手动创建单元格时,则不使用默认值。

编辑

下面是一个示例工厂方法:

private static PdfPCell CreateCell() { 
    var c = new PdfPCell(); 
    c.Padding = 5; 
    return c; 
} 

您也可以跳过工厂方法,如果你只是设置属性和使用对象的初始化:

var c = new PdfPCell() { Padding = 5 }; 
+0

好...这确实有帮助。这不是答案,但有助于理解一点。谢谢。 –

+0

如果我需要使用New PdfPCell(),并且需要Padding到我的列,我应该怎么做?因为'.Padding'属性是private/protected set? –

+0

大多数人只是调用'New PdfPCell()'的工厂方法,并设置所有正确的填充和其他设置。 –