Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
チュートリアル14: スクロールしない固定列を持つグリッドを作成する
チュートリアル > チュートリアル14: スクロールしない固定列を持つグリッドを作成する

1つ以上の列を水平方向または垂直方向にスクロールしないように設定して、常に表示することができます。 True DBGrid の  SplitCollection は、隣接する列のグループを定義する一般的なメカニズムを提供し、スクロールしない固定列または固定行を実装するために使用できます。このチュートリアルでは、2つの水平スプリットを持つグリッドを作成するためのコードを記述し、左のスプリット内の2つの列を固定する方法を学びます。

以下の手順を実行します。

  1. チュートリアル1:C1TrueDBGrid を DataSet に連結する の手順1から6に従って、データセットに連結された C1TrueDBGrid のプロジェクトを作成します。
  2. 追加のスプリットを作成し、左のスプリットの列0と列1を固定するために、次のコードを置きます。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' スプリットを追加します。
        Me.C1TrueDBGrid1.InsertHorizontalSplit(0)
     
        '第1スプリットでは、第1列と第2列だけを残して、他のすべての列を隠します。
        Dim x As Integer
        For x = 2 To Me.C1TrueDBGrid1.Columns.Count - 1
            Me.C1TrueDBGrid1.Splits(0).DisplayColumns(x).Visible = False
        Next
     
        ' 第1スプリットに2列のみを表示し、リサイズできないように作成します。
        With Me.C1TrueDBGrid1.Splits(0)
            .SplitSizeMode = C1.Win.C1TrueDBGrid.SizeModeEnum.NumberOfColumns
            .SplitSize = 2
            .AllowHorizontalSizing = False
        End With
     
        '第1スプリットの第1列と第2列を固定したので、他のスプリットではそれらの列を隠すようにします。 
        Me.C1TrueDBGrid1.Splits(1).DisplayColumns(0).Visible = False
        Me.C1TrueDBGrid1.Splits(1).DisplayColumns(1).Visible = False
     
        ' 第2スプリットの行セレクタを非表示にします。
        Me.C1TrueDBGrid1.Splits(1).RecordSelectors = False
    End Sub
    

    C# コードの書き方

    C#
    コードのコピー
    private void Form1_Load(System.object sender,  System.EventArgs e) 
    {
        //スプリットを追加します。
        this.c1TrueDBGrid1.InsertHorizontalSplit(0);
     
        // 第1スプリットでは、第1列と第2列だけを残して、他のすべての列を隠します。
        int x;
        for (x = 2 ; x < this.c1TrueDBGrid1.Columns.Count; x++)
        {
            this.c1TrueDBGrid1.Splits[0].DisplayColumns[x].Visible = false;
        }
     
        // 第1スプリットに2列のみを表示し、リサイズできないように作成します。
        this.c1TrueDBGrid1.Splits[0].SplitSizeMode = C1.Win.C1TrueDBGrid.SizeModeEnum.NumberOfColumns;
        this.c1TrueDBGrid1.Splits[0].SplitSize = 2;
        this.c1TrueDBGrid1.Splits[0].AllowHorizontalSizing = false;
     
        // 第1スプリットの第1列と第2列を固定したので、他のスプリットではそれらの列を隠すようにします。 
        this.c1TrueDBGrid1.Splits[1].DisplayColumns[0].Visible = false;
        this.c1TrueDBGrid1.Splits[1].DisplayColumns[1].Visible = false;
     
        // 第2スプリットの行セレクタを非表示にします。
        this.c1TrueDBGrid1.Splits[1].RecordSelectors = false;
    }
    

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

スプリットを使用して、グリッド内の任意の場所に(中央でも)、スクロールしない固定列を作成できます。スプリットを使用すると、データを異なる方法で表示することもできます。たとえば、データベースの最初と最後のレコードを比較できるように、独立してスクロール(垂直方向)するスプリットを作成できます。詳細については、「 スプリットの使用方法を参照してください。

これでチュートリアル 14は終了です。