我的应用程序显示了一些信息,当用户单击按钮时,我将它们导出为pdf文件。
我唯一的问题是,当我希望它们并排时,表会在另一个表之上。
这是我创建表格的方式:
foreach (DataGridView dgv in panelStock.Controls.OfType<DataGridView>())
{
int nbCol = 0;
foreach (DataGridViewColumn col in dgv.Columns)
{
if (col.Visible)
{
nbCol++;
}
}
PdfPTable table = new PdfPTable(nbCol);
table.WidthPercentage = nbCol * 12.5f;
table.DefaultCell.Padding = 3;
table.HorizontalAlignment = Element.ALIGN_LEFT;
table.DefaultCell.BorderWidth = 0;
foreach (DataGridViewColumn col in dgv.Columns)
{
if (col.Visible)
{
PdfPCell cell = new PdfPCell(new Phrase(col.HeaderText));
cell.BorderWidth = 0;
cell.BorderWidthBottom = 1;
table.AddCell(cell);
}
}
foreach (DataGridViewRow row in dgv.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
if (cell.OwningColumn.Visible)
{
table.AddCell(new Phrase(cell.Value.ToString()));
}
}
}
doc.Add(table);
}
我读了一个可能的答案here,但我事先不知道会有多少张表以及这些表将在文档中开始多远。