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

时间:2010-12-25 11:28:56

标签: c# .net winforms printing datagridview

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

我正在使用Visual Studio 2008和C#3.5

1 个答案:

答案 0 :(得分:12)

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

  1. WinForms 提供标准打印系统,您可以利用它打印出DataGridView控件的内容。您需要使用PrintDocument课程,因此相关的documentation是开始阅读的好地方。这种方法的优点是它允许您完全控制打印文档的格式和布局。

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

  3. 如果您对推出自己的解决方案不感兴趣,可以浏览CodeProject一些已设计的解决方案。例如:

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

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