打印.NET DataGridView

Tin*_*oji 15 printing datagridview .net-3.5 winforms

我是.NET和C#的新手,但我有一个我想要打印的DataGridView.这样做最好的方法是什么?

小智 13

添加DataGridView,PrintDocuemnt和Button然后:

button click events {
    printDocument1.Print();
}

printDocument1_PrintPage events {
    Bitmap bm = new Bitmap(this.dataGridView1.Width, this.dataGridView1.Height);
    this.dataGridView1.DrawToBitmap(bm, new Rectangle(0, 0, this.dataGridView1.Width, this.dataGridView1.Height));
    e.Graphics.DrawImage(bm, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

这就是你所有的数据打印.

  • 如果所有数据都显示在DataGridView中,这非常有用,因为它只显示屏幕上可见的内容.如果您的数据并非全部适合DataGridView的边框,则无法获取所有数据.如果这就是你所需要的,那么仍然非常优雅和简单. (2认同)

Bob*_*Bob 8

CodeProject上有一些项目已经完成了一些打印DataGridViews的工作.


Dav*_*vid 5

我知道你已经接受了答案,但下一个人要搜索这个问题......

我还在Code Project上找到了这个很棒的项目,并且刚刚实现了它.这很简单,也很好. http://www.codeproject.com/KB/grid/GridDrawer.Net.aspx


小智 5

在代码项目上:

aureolin 的另一个 DataGridView 打印机

以上是另一款出色的DataGridView打印机,实施起来非常简单。

我意识到我是约翰尼,最近才来到这个帖子。我在寻找其他东西时偶然发现了它,但想为其他通过这种方式发生的人(就像我一样)参考这个优秀的打印解决方案。

我希望这里有人能从中得到一些用处。


Bli*_*iek 3

您可以将 DataGridView 导出到 Excel,然后从 Excel 打印。

您还可以考虑不在 DataGridView 中显示数据,而是在 ReportViewer 控件中显示数据,该控件能够导出到 PDF 或 Excel。从那里可以打印您的数据。