如何从C#中的DataGridView打印数据?

Omn*_*eya 8 .net c# printing datagridview winforms

我正在开发一个程序,我需要打印DataGridView控件中显示的Bills数据.
我想知道代码如何在DataGridView中打印数据.

我使用的是Visual Studio 2008和C#3.5

Cod*_*ray 12

内置的打印支持没有DataGridView,因此您必须自己实现.有几种可能的解决方案:

  1. WinForms 确实提供了标准打印系统,您可以利用它来打印DataGridView控件的内容.您将要使用PrintDocument该类,因此相关文档是开始阅读的好地方.此方法的优点是,它允许您完全控制打印文档的格式和布局.

  2. 您可以将数据从您DataGridView的Microsoft Excel 导出,然后从那里打印.Excel具有更强大的内置打印支持.

  3. 如果您对滚动自己的解决方案不感兴趣,可以浏览CodeProject以获取一些已经设计的解决方案.例如:

    即使您没有找到符合您确切需求的插件解决方案,您也可以通过使用已发布的代码作为示例自己了解如何自行创建此功能.

  4. 如果你想要一个真正的hacky解决方案(并且你没有任何愿望或需要自定义打印输出的布局或设计),你可以使用DrawToBitmap每个控件公开的方法.这是一种非常快速和肮脏的方法,DataGridView可以在屏幕上显示控件的精确图像,Bitmap然后您可以将其直接传递到打印机.