我的表格可能超过 3 页长。但我只想每页上有 10 行。是否可以在每十行后添加一个分页符?我尝试添加计数,并为每 10 行插入分页符,但分页符只是到达表格顶部,因此表格从第二页开始。
DataSet dsTable = null;
dsTable = DataUtils.GetTableProperties(CompNew.CompanyID, "InvoicePrint");
iTextSharp.text.pdf.PdfPTable table = new PdfPTable(dsTable.Tables[1].Rows.Count);
table.WidthPercentage = 100;
int count = 0;
foreach (DataRow record in records.Tables[0].Rows)
{
foreach (string Heading in Headings)
{
table.AddCell(new Paragraph(record[Heading].ToString(), arialBold));
}
if (count != 0)
{
if ((count % 10) == 0)
{
document.NewPage();
}
}
count++;
}
paragraphTable1.Add(table);
document.Add(paragraphTable1);
尝试下面的代码
if ((count % 10) == 0)
{
paragraphTable1.Add(table);
document.Add(paragraphTable1);
document.NewPage();
}
table.DeleteBodyRows();必须在新页面之前执行。
试试这个:
if ((count % 10) == 0)
{
paragraphTable1.Add(table);
document.Add(paragraphTable1);
table.DeleteBodyRows();
document.NewPage();
}
或当前版本3.3.5 by iTextSharp.LGPLv2.Core
if ((count % 10) == 0)
{
document.Add(table);
table.DeleteBodyRows();
document.NewPage();
}