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

このトピックは、LineDef クラスを使用して行と列の周囲にはっきりとした境界線を作成する方法を示します。このトピックは、3行3列のテーブルが既にあることを前提としています。

  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)
    
        Dim r As Integer = 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
    
        ' ドキュメントを生成します。
        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);
    
        const int r = 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;    
            }    
        }
    
        // ドキュメントを生成します。
        this.c1PrintDocument1.Body.Children.Add(table);    
        this.c1PrintDocument1.Generate();    
    }
    
  2. プロジェクトに次のコードを追加して、テーブルの幅と高さを 15cm にします。

    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);
    
  3. 次のように、プロジェクトに次のコードを追加して、LineDef クラスの新しいインスタンスを3行目の境界線に割り当てます。使用するコンストラクタでは、新しい境界線を2ポイント幅の赤色に指定します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    table.Rows(2).Style.Borders.All = New C1.C1Preview.LineDef("2pt", Color.Red)
    

    C# コードの書き方

    C#
    コードのコピー
    table.Rows[2].Style.Borders.All = new C1.C1Preview.LineDef("2pt", Color.Red);
    
  4. 次のように、LineDef クラスの新しいインスタンスを最初の列の境界線に割り当てます。使用するコンストラクタでは、新しい境界線を6ポイント幅の青色に指定します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    table.Cols(0).Style.Borders.All = New C1.C1Preview.LineDef("6pt", Color.Blue)
    

    C# コードの書き方

    C#
    コードのコピー
    table.Cols[0].Style.Borders.All = new C1.C1Preview.LineDef("6pt", Color.Blue);
    

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

実行時に、境界線は次のテーブルのように表示されます。