简体   繁体   中英

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 how 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:

    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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM