作者:http://www.codeproject.com/KB/printing/DGVPrinter.aspx
【简单用法】:
1 //
2 // Printing the DataGridView Control
3 // in response to a toolbar button press
4 //
5 private void printToolStripButton_Click(object sender, EventArgs e)
6 {
7 DGVPrinter printer = new DGVPrinter();
8 printer.Title = "DataGridView Report";
9 printer.SubTitle = "An Easy to Use DataGridView Printing Object";
10 printer.SubTitleFormatFlags = StringFormatFlags.LineLimit |
11 StringFormatFlags.NoClip;
12 printer.PageNumbers = true;
13 printer.PageNumberInHeader = false;
14 printer.PorportionalColumns = true;
15 printer.HeaderCellAlignment = StringAlignment.Near;
16 printer.Footer = "Your Company Name Here";
17 printer.FooterSpacing = 15;
18 printer.PrintDataGridView(datagridviewControl);
19 }
【复杂用法】:
1 //
2 // Printing the DataGridView Control
3 // in response to a toolbar button press – the myprintsettings and mypagesettings objects are objects used by the local
4 // program to save printer and page settings
5 //
6 private void printToolStripButton_Click(object sender, EventArgs e)
7 {
8 DGVPrinter printer = new DGVPrinter();
9 printer.Title = "DataGridView Report";
10 printer.SubTitle = "An Easy to Use DataGridView Printing Object";
11 printer.SubTitleFormatFlags = StringFormatFlags.LineLimit |
12 StringFormatFlags.NoClip;
13 printer.PageNumbers = true;
14 printer.PageNumberInHeader = false;
15 printer.PorportionalColumns = true;
16 printer.HeaderCellAlignment = StringAlignment.Near;
17 printer.Footer = "Your Company Name Here";
18 printer.FooterSpacing = 15;
19 // use saved settings
20 if (null != myprintsettings)
21 printer.PrintDocument.PrinterSettings = myprintsettings;
22 if (null != mypagesettings)
23 printer.PrintDocument.DefaultPageSettings = mypagesettings;
24 if (DialogResult.OK == printer.DisplayPrintDialog()) // replace DisplayPrintDialog() with your own print dialog
25 {
26 // save users' settings
27 myprintsettings = printer.PrinterSettings;
28 mypagesettings = printer.PageSettings;
29 // print without displaying the printdialog
30 printer.PrintNoDisplay (datagridviewControl);
31 }
本文配套源码