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

このトピックは、RenderText クラスを使用してテーブルの特定のセルにテキストを追加する方法を示します。

  1. 濃い灰色のグリッド線を使用するテーブルを設定する次のコードがソースファイルに既にある必要があります。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        ' テーブルを作成します。    
        Dim table As C1.C1Preview.RenderTable = New C1.C1Preview.RenderTable(Me.C1PrintDocument1)    
        table.Style.GridLines.All = New C1.C1Preview.LineDef(Color.DarkGray)
    
        ' ドキュメントを生成します。      
        Me.C1PrintDocument1.Body.Children.Add(table)   
        Me.C1PrintDocument1.Generate()
                    
    End Sub
    

    C# コードの書き方

    C#
    コードのコピー
    private void Form1_Load(object sender, System.EventArgs e)    
    {    
        // テーブルを作成します。    
        C1.C1Preview.RenderTable table = new C1.C1Preview.RenderTable(this.c1PrintDocument1);   
        table.Style.GridLines.All = new C1.C1Preview.LineDef(Color.DarkGray);
        
        // ドキュメントを生成します。   
        this.c1PrintDocument1.Body.Children.Add(table);    
        this.c1PrintDocument1.Generate();
        
    }
    
  2. テーブルセルに任意の種類のコンテンツを表示するには、そのコンテンツを表すレンダリングオブジェクトをセルの RenderObject プロパティに割り当てます。ただし、テーブルセルにテキストを表示することはよく行うタスクなので、セルには専用のプロパティ RenderText が用意されています。ここでは、これを使用します。テーブル内のすべてのセルのテキストを設定するには、テーブル内の各行をループし、そのループ内で行内の各列をさらにループします。ネストしたループの本体で、次のように、 Text プロパティを目的のテキストに設定します。このサンプルでは、セル(1,1)と(1,2)は空にしています。

    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    
            If (Not (row = 1 And col = 1)) And (Not (row = 1 And col = 2)) Then    
               Dim celltext As C1.C1Preview.RenderText = New C1.C1Preview.RenderText(Me.C1PrintDocument1)    
               celltext.Text = String.Format("Cell ({0},{1})", row, col)
    
               ' テキストを含むセルを追加します。    
               table.Cells(row, col).RenderObject = celltext    
           End If    
        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)   
        {    
            if (!(row == 1 && col == 1) && !(row == 1 && col == 2))    
            {    
                C1.C1Preview.RenderText celltext = new C1.C1Preview.RenderText(this.c1PrintDocument1);    
                celltext.Text = string.Format("Cell ({0}, {1})", row, col);
    
                // テキストを含むセルを追加します。    
                table.Cells[row, col].RenderObject = celltext;    
            }    
        }    
    }
    

プログラムを実行し、次の点を確認します。

テーブルは次のように表示されます。