Reports for WinForms
3行3列のテーブルの作成
クイックスタート > 印刷プレビューを開始する > テーブルを作成する > 3行3列のテーブルの作成

C1PrintDocument では、RenderTable クラスを使ってテーブルを作成できます。

このトピックは、3行3列のテーブルを設定するための基本を説明します。

  1. 最初に、ドキュメントの生成とプレビューを行うサンプルの基本フレームワークを設定します。新しい .NET Windows アプリケーションプロジェクトを作成します。C1PrintPreviewコントロールC1PrintDocument コンポーネントをフォームにドロップします。
  2. C1PrintPreview の Dock プロパティを Fill に設定します(プレビューがフォーム内で唯一のコントロールになる)。次の画像に示すように、プレビューの Document プロパティをC1PrintDocumentに設定すると、C1PrintPreview にC1PrintDocumentが表示されます。

  3. 空のフォームをダブルクリックします。これにより、ソースコードにフォームロードイベントの新しいハンドラが自動的に作成されます。このハンドラは次のようになります。
  4. 次に、新しい C1.C1PrintDocument.RenderTable オブジェクトを作成し、次のコードを使用して、これを変数に代入します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Dim table As C1.C1Preview.RenderTable = New C1.C1Preview.RenderTable(Me.C1PrintDocument1)

    C# コードの書き方

    C#
    コードのコピー
    C1.C1Preview.RenderTable table = new C1.C1Preview.RenderTable(this.c1PrintDocument1);
    メモ:上のコードは、Form1_Load イベントの左カッコと右カッコの間に置く必要があります。
  5. テーブルに3列を追加し、テーブルの本体に3行を追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    ' 3行を追加します
    Dim r As Integer = 3
    
    ' 3列を追加します
    Dim c As Integer = 3
      
    Dim row As Integer    
    Dim col As Integer
    
    For row = 0 To r - 1 Step +1    
        For col = 0 To c - 1 Step +1    
            Dim celltext As C1.C1Preview.RenderText = New C1.C1Preview.RenderText(Me.C1PrintDocument1)
    
            ' 空のセルを追加します
            celltext.Text = String.Format("", row, col)    
            table.Cells(row, col).RenderObject = celltext    
        Next    
    Next
    

    C# コードの書き方

    C#
    コードのコピー
    // 3行を追加します
    const int r = 3;
    
    // 3列を追加します
    const int c = 3;
    
    for (int row = 0; row < r; ++row)   
    {
        for (int col = 0; col < c; ++col)   
        {   
            C1.C1Preview.RenderText celltext = new C1.C1Preview.RenderText(this.c1PrintDocument1);   
            celltext.Text = string.Format("", row, col);    
    
            // 空のセルを追加します
            table.Cells[row, col].RenderObject = celltext;    
        }    
    }
    

    メモ:上のコードは、手順3で入力したコードの後に置く必要があります。
    列はテーブルに直接追加したのに対して、行はテーブルの本体に追加しています。これは、RenderTable が常に3つの“テーブル領域”(ヘッダー、本体、フッター)で構成されるためです。テーブルの3つのテーブル領域は空でもかまいません。単純なテーブルを作成する場合は、このサンプルのように本体に行を追加できます。

  6. 列の幅と行の高さを5センチにします。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    table.Height = New C1.C1Preview.Unit(15, C1.C1Preview.UnitTypeEnum.Cm)    
    table.Width = New C1.C1Preview.Unit(15, C1.C1Preview.UnitTypeEnum.Cm)
    

    C# コードの書き方

    C#
    コードのコピー
    table.Height = new C1.C1Preview.Unit(15, C1.C1Preview.UnitTypeEnum.Cm);    
    table.Width = new C1.C1Preview.Unit(15, C1.C1Preview.UnitTypeEnum.Cm);
    
  7. デフォルトでは、テーブルには境界線がありません。テーブルに濃い灰色のグリッド線を追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    table.Style.GridLines.All = New C1.C1Preview.LineDef(Color.DarkGray)
    

    C# コードの書き方

    C#
    コードのコピー
    table.Style.GridLines.All = new C1.C1Preview.LineDef(Color.DarkGray);
    
  8. 描画オブジェクトを作成したら、それをドキュメントに追加する必要があります。それには、最初にドキュメントの Add メソッドを呼び出して、テーブルをドキュメントの本体に追加します。次に、 Generate メソッドを使用して、ドキュメントを作成します。このコードを次に示します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Me.C1PrintDocument1.Body.Children.Add(table)    
    Me.C1PrintDocument1.Generate()
    

    C# コードの書き方

    C#
    コードのコピー
    this.c1PrintDocument1.Body.Children.Add(table);    
    this.c1PrintDocument1.Generate();
    

アプリケーションを保存し、実行します。

実行時に、アプリケーションは次の画像のように表示されます。

関連トピック