[]
        
(Showing Draft Content)

C1.Win.FlexGrid.PrintDocumentGridRenderer

PrintDocumentGridRenderer Class

Represents an object that renders a C1FlexGrid into a paged PrintDocument.

Inheritance
PrintDocumentGridRenderer
Namespace: C1.Win.FlexGrid
Assembly: C1.Win.FlexGrid.8.dll
Syntax
public class PrintDocumentGridRenderer
Remarks

This class may be used to print multiple grids, along with other custom content, into an existing PrintDocument object.

To use it, create one PrintDocumentGridRenderer for each grid you want to print. Then handle the document events and call the PrintPage(PrintPageEventArgs, bool) event for the renderers until the value of the CurrentPage property equals PageCount.

The code below renders two grids into a PrintDocument:
// print two grids into an existing PrintDocument
private void button1_Click(object sender, EventArgs e)
{
  using (var dlg = new PrintPreviewDialog())
  {
    dlg.Document = this.printDocument1;
    dlg.ShowDialog(this);
  }
}

// event handlers for the PrintDocument object on the form PrintDocumentGridRenderer _g1, _g2; void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e) { // create and configure grid renderer for the first grid _g1 = new PrintDocumentGridRenderer(c1FlexGrid1); _g1.Options = PrintGridFlags.FitToPageWidth | PrintGridFlags.ExtendLastCol;

// create and configure grid renderer for the second grid _g2 = new PrintDocumentGridRenderer(c1FlexGrid2); _g2.Options = PrintGridFlags.FitToPageWidth | PrintGridFlags.ExtendLastCol; } void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { // render first grid if (_g1.CurrentPage < _g1.PageCount) { _g1.PrintPage(e); e.HasMorePages = true; }

// render second grid else if (_g2.CurrentPage < _g2.PageCount) { _g2.PrintPage(e); e.HasMorePages = _g2.CurrentPage < _g2.PageCount; } }

Constructors

Name Description
PrintDocumentGridRenderer(C1FlexGridBase)

Initializes a new instance of a PrintDocumentGridRenderer.

Properties

Name Description
CurrentPage

Gets the index of the page being rendered.

FirstPageY

Gets or sets the Y coordinate of the first block of cells rendered on the document.

Options

Gets or sets the flags that specify printing options to use with the PrintGrid(string, PrintGridFlags) method. See the PrintGridFlags enumeration for details.

PageCount

Gets the total number of pages in the document.

PageOrder

Gets or sets the order of the pages when the data does not fit on one page.

Methods

Name Description
PrintPage(PrintPageEventArgs, bool)

Renders the current page into the document.

PrintPage(PrintPageEventArgs, int, bool)

Renders a specific page into the document.

Setup(PrintPageEventArgs)

Calculates the zoom factor and page breaks in the document.