我正在尝试通过制作位图图像来打印Datagridview,它工作得很好,但它只打印1页打印。
这是DataGirdView Image:
打印预览图片:
这里是打印 - 从DataGridView行到最后没有总行到最后一行只有1页
打印代码:
private void Btn_Print_Click(object sender, EventArgs e)
{
int height = DGV.Height;
DGV.Height = DGV.RowCount * DGV.RowTemplate.Height * 2;
bmp = new Bitmap(DGV.Width, DGV.Height);
DGV.DrawToBitmap(bmp, new Rectangle(0, 0, DGV.Width, DGV.Height));
DGV.Height = height;
printPreviewDialog1.ShowDialog();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(bmp, 0, 0);
}
为什么不在1页以上打印数据?代码有什么问题吗?请提出建议
谢谢。
答案 0 :(得分:1)
从DataGridView打印多个页面并不是最简单的事情,因此我建议您使用现有的代码示例之一。这里有几个好的,易于使用,可以打印多个页面:
此SO问题提供了更多示例:
Best way to print a datagridview with all rows and all columns?