FlexGrid for WinForms
PrintDocumentGridRenderer クラス
メンバ  使用例 

C1.Win.C1FlexGrid.4.5.2 アセンブリ > C1.Win.C1FlexGrid 名前空間 : PrintDocumentGridRenderer クラス
C1FlexGridをレンダリングしてページ付けされた System.Drawing.Printing.PrintDocumentに出力するオブジェクトを表します。
オブジェクト モデル
PrintDocumentGridRenderer クラス
シンタックス
'宣言
 
Public Class PrintDocumentGridRenderer 
public class PrintDocumentGridRenderer 
解説

このクラスは、複数のグリッドを、他のカスタムコンテンツと共に既存の System.Drawing.Printing.PrintDocumentオブジェクトに出力するために使用できます。

それを使用するには、出力するグリッドごとに1つの PrintDocumentGridRenderer を作成します。それから、ドキュメントのイベントを処理して、 CurrentPageプロパティの値が PageCountに等しくなるまでレンダラの C1.Win.C1FlexGrid.PrintDocumentGridRenderer.PrintPage(System.Drawing.Printing.PrintPageEventArgs)イベントを呼び出します。

下のコードは、2つのグリッドをレンダリングして1つの System.Drawing.Printing.PrintDocumentに出力します。
使用例
下のコードは、2つのグリッドをレンダリングして1つの System.Drawing.Printing.PrintDocumentに出力します。
Private _g1, _g2 As PrintDocumentGridRenderer
Private printDocument1 As Printing.PrintDocument
            
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  'ボタンのクリック時、印刷プレビューダイアログを表示します。
  Using dlg As New PrintPreviewDialog()
    dlg.Document = Me.printDocument1
    dlg.ShowDialog(Me)
  End Using
End Sub
            
Private Sub printDocument1_BeginPrint(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintEventArgs)
  'グリッドのレンダラを作成し、印刷オプションを設定します。
  _g1 = New PrintDocumentGridRenderer(flex1)
  _g1.Options = PrintGridFlags.ActualSize
  
  'グリッドのレンダラを作成し、印刷オプションを設定します。
  _g2 = New PrintDocumentGridRenderer(flex2)
  _g2.Options = PrintGridFlags.FitToPageWidth Or PrintGridFlags.ExtendLastCol
End Sub
            
Private Sub printDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
  ' 1つめのグリッドをレンダリングします。
  If (_g1.CurrentPage < _g1.PageCount) Then
    _g1.PrintPage(e) e.HasMorePages = True
  ' 2つめのグリッドをレンダリングします。
  ElseIf (_g2.CurrentPage < _g2.PageCount) Then
    _g2.PrintPage(e)
    e.HasMorePages = _g2.CurrentPage < _g2.PageCount
  End If
End Sub
using System.Drawing.Printing;
            
PrintDocumentGridRenderer _g1, _g2;
PrintDocument printDocument1 = new PrintDocument();
printDocument1.BeginPrint += printDocument1_BeginPrint;
printDocument1.PrintPage += printDocument1_PrintPage;
            
private void button1_Click(object sender, EventArgs e)
{
  //ボタンのクリック時、印刷プレビューダイアログを表示します。
  using (PrintPreviewDialog dlg = new PrintPreviewDialog())
  {
    dlg.Document = this.printDocument1;
    dlg.ShowDialog(this);
  }
}
            
void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
  // グリッドのレンダラを作成し、印刷オプションを設定します。
  _g1 = new PrintDocumentGridRenderer(flex1);
  _g1.Options = PrintGridFlags.ActualSize;
  
  // グリッドのレンダラを作成し、印刷オプションを設定します。
  _g2 = new PrintDocumentGridRenderer(flex2);
  _g2.Options = PrintGridFlags.FitToPageWidth | PrintGridFlags.ExtendLastCol;
}
            
void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
  // 1つめのグリッドをレンダリングします。
  if (_g1.CurrentPage < _g1.PageCount)
  {
    _g1.PrintPage(e);
    e.HasMorePages = true;
  }
  // 2つめのグリッドをレンダリングします。
  else if (_g2.CurrentPage < _g2.PageCount)
  {
    _g2.PrintPage(e);
    e.HasMorePages = _g2.CurrentPage < _g2.PageCount;
  }
}
継承階層

System.Object
   C1.Win.C1FlexGrid.PrintDocumentGridRenderer

参照

PrintDocumentGridRenderer メンバ
C1.Win.C1FlexGrid 名前空間