开发者

How can I print data from a DataGridView in C#?

I am developing a program, and I need to print the Bills data that is displayed in a DataGridView control.

I want to know the code 开发者_如何学Pythonhow to print the data in the DataGridView.

I am using Visual Studio 2008 and C# 3.5


There isn't any printing support built into the DataGridView, so you'll have to implement this yourself. There are a couple of possible solutions:

  1. WinForms does provide a standard printing system, which you can harness to print out the contents of your DataGridView control. You'll want to use the PrintDocument class, so the relevant documentation is a great place to start reading. The advantage of this method is that it allows you complete control over the format and layout of the printed document.

  2. You could export the data from your DataGridView to Microsoft Excel, and then print it from there. Excel has much more robust, built-in printing support.

  3. If you're not interested in rolling your own solution, you can browse CodeProject for some already designed solutions. For example:

    • The DataGridViewPrinter Class
    • Printing a DataGridView on DotNet Framework
    • Another DataGridView Printer
    • DataGridView Printing by Selecting Columns and Rows

    Even if you don't find a drop-in solution that fits your exact needs, you can probably get a good idea of how to go about creating this functionality yourself by using the published code as an example.

  4. If you're up for a really hacky solution (and you don't have any desire or need to customize the layout or design of the printed output), you could use the DrawToBitmap method exposed by every control. This is a really quick-and-dirty approach that draws an exact image of the DataGridView control as it appears on your screen to a Bitmap, which you can then pass directly to your printer.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜