Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms Winform C中DataGridView的打印#_Winforms_Datagridview - Fatal编程技术网

Winforms Winform C中DataGridView的打印#

Winforms Winform C中DataGridView的打印#,winforms,datagridview,Winforms,Datagridview,我正试图通过制作位图图像来打印Datagridview,它工作得很好,但只需打印一页即可 这里是DataGirdView图像: 打印预览图像: 此处在打印预览中,从DataGridView行到最后一行没有总计行,只有1页 打印代码: private void Btn_Print_Click(object sender, EventArgs e) { int height = DGV.Height; DGV.Height = D

我正试图通过制作位图图像来打印Datagridview,它工作得很好,但只需打印一页即可

这里是DataGirdView图像:

打印预览图像

此处在打印预览中,从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);
        }  
为什么不打印超过一页的数据?代码有错误吗?请提出建议


多谢各位

从DataGridView打印多个页面不是一件容易的事情,因此我建议您使用一个现有的代码示例。这里有几个好的,易于使用,可以打印多页:

从这个问题中可以得到更多的例子: