我编写了一个c#代码,它将生成一个pdf,它将包含一个矩形,在该矩形内部,我有一个从数据库动态增长的表。
现在发生的事情是我通过静态添加越来越多的行来增加表的大小(在数据库连接之后它将是动态的)。表格下方的数据因为添加行而增加了表格的高度 下面写的一些文字会消失并消失。
我想要什么? 我希望增加矩形的大小,以便它必须将数据发送到下一页并且(而不是消失它)。
我的RECTANGLE代码是:
/*Creating border using rectangle*/
PdfContentByte content = writer.DirectContent;
Rectangle rectangle = new Rectangle(doc.PageSize);
rectangle.Left += document.LeftMargin - 10;
rectangle.Right -= document.RightMargin;
rectangle.Top -= document.TopMargin ;
rectangle.Bottom += document.BottomMargin;
content.SetColorStroke(BaseColor.BLACK);
content.Rectangle(rectangle.Left, rectangle.Bottom, rectangle.Width, rectangle.Height);
content.Stroke();
ColumnText ct = new ColumnText(content);
ct.SetSimpleColumn(rectangle);
表的代码是:
PdfPTable table2 = new PdfPTable(8);
table2.WidthPercentage = 80;
float[] colWidths = { 110, 80, 80, 70, 70, 70, 70, 70 }; /*Set different column widths*/
table2.SetWidths(colWidths);
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("d");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("d");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("");
table2.AddCell("d");
...................
...................
ct.AddElement(table2);
ct.Go();
它包含一个在增加表行时消失的段落。它应该转到下一页。