DataGridView打印类2011-08-03 博客园 朱祁林作者: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 }