如何从C#中的DataGridView打印数据?
我正在开发一个程序,我需要打印DataGridView控件中显示的Bills数据。
我想知道代码如何在DataGridView中打印数据。
我正在使用Visual Studio 2008和C#3.5
DataGridView
没有内置任何打印支持,因此您必须自己实现。 有几种可能的解决方案:
-
WinForms提供标准打印系统,您可以利用它打印出
DataGridView
控件的内容。 您将需要使用PrintDocument
类,因此相关文档是开始阅读的好地方。 此方法的优点是它允许您完全控制打印文档的格式和布局。 -
您可以将数据从
DataGridView
导出到Microsoft Excel,然后从那里打印。 Excel具有更强大的内置打印支持。 -
如果您对推出自己的解决方案不感兴趣,可以浏览CodeProject以获取一些已经设计的解决方案。 例如:
- DataGridViewPrinter类
- 在DotNet Framework上打印DataGridView
- 另一个DataGridView打印机
- 通过选择列和行来打印DataGridView
即使您没有找到符合您确切需求的插入式解决方案,您也可以通过使用已发布的代码作为示例,自行了解如何自行创建此function。
-
如果你想要一个真正的hacky解决方案(并且你不需要或者不需要自定义打印输出的布局或设计),你可以使用每个控件公开的
DrawToBitmap
方法。 这是一种非常快速和肮脏的方法,可以将屏幕上显示的DataGridView
控件的精确图像绘制到Bitmap
,然后可以将其直接传递到打印机。