Save, Load and Print / Print
Print

FlexGrid lets you print the grid and perform various basic and advanced print settings using its built-in methods and properties.

Print grid

Print Grid

FlexGrid provides PrintGrid method of the C1FlexGrid class which lets you print the grid contents with some basic printing options. The method has an optional parameter PrintGridFlags that allows you to specify how to print the grid such as its scaling mode and whether to display various print related dialog boxes. You can also set text in header and footer of the printed grid using this method.

Following code shows how to use PrintGrid method to print the WinForms FlexGrid.

// Display a preview dialog and print the grid with specified header and footer 
c1FlexGrid1.PrintGrid("C1FlexGrid", PrintGridFlags.FitToPageWidth | PrintGridFlags.ShowPreviewDialog, "C1FlexGrid\t\t" + String.Format(DateTime.Now.ToString(), "d"), "\t\tPage {0} of {1}");             

Print Options

To set advanced printing options such as header and footer fonts, page margins, and page orientation, you can use PrintParameter property of the C1FlexGrid class.

Use the code below to print the WinForms FlexGrid with advanced print options.

// Get the grid' s PrintDocument object.
System.Drawing.Printing.PrintDocument pd = c1FlexGrid1.PrintParameters.PrintDocument;

// Set up the page (landscape, 1.5" left margin).
pd.DefaultPageSettings.Landscape = true;
pd.DefaultPageSettings.Margins.Left = 150;

// Set up the header and footer fonts.
c1FlexGrid1.PrintParameters.HeaderFont = new Font("Arial Black", 14, FontStyle.Bold);
c1FlexGrid1.PrintParameters.FooterFont = new Font("Arial Narrow", 8, FontStyle.Italic);             

Customize Print Preview Dialog

You can customize the print preview dialog by using PrintPreviewDialog property of the GridPrinter class. The property can be accessed through PrintParameter property of the C1FlexGrid class. The code below uses the PrintPreviewDialog property to display a maximized preview dialog with a custom caption.

Below code demonstrates how to customize the print preview dialog of the WinForms FlexGrid.

  Form dlg = c1FlexGrid1.PrintParameters.PrintPreviewDialog as Form;
  dlg.Text = "Order Details";
  dlg.StartPosition = FormStartPosition.CenterParent;
  dlg.WindowState = FormWindowState.Maximized;
  c1FlexGrid1.PrintGrid("Orders", PrintGridFlags.ShowPreviewDialog);                 
See Also

Documentation