Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
水平スクロールと固定列
スプリットの使用方法 > 水平スクロールと固定列

スクロールは各スプリットごとに独立しています。1つ以上の列を水平方向または垂直方向にスクロールしないように設定して、常に表示することもできます。C1TrueDBGrid では、スプリットのプロパティをいくつか設定するだけで、簡単にこれを実現できます。グリッド内の列をいくつでも(グリッドの中央にある列でも)、どちらの方向にも、スクロールしないように設定できます。

たとえば、グリッドに水平スプリットが3つあるとします。次のコードは、中央のスプリットの列0と列1を「固定」します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
' 列 0 と 1 を除いて、Splits(1) 内のすべての列を非表示にします
Dim Cols As C1TrueDBGrid.C1DisplayColumnCollection
Dim C As C1TrueDBGrid.C1DisplayColumn
 
Cols = Me.C1TrueDBGrid1.Splits(1).DisplayColumns
For Each C In Cols
    C.Visible = False
Next C
Cols(0).Visible = True
Cols(1).Visible = True
 
' ちょうど 2 つの列を表示するように Splits(1) を設定し、サイズ変更を無効にします
With Me.C1TrueDBGrid1.Splits(1)
    .SplitSizeMode = SizeModeEnum.NumberOfColumns
    .SplitSize = 2
    .AllowHorizontalSizing = False
End With

C# コードの書き方

C#
コードのコピー
// 列 0 と 1 を除いて、Splits(1) 内のすべての列を非表示にします
C1TrueDBGrid.C1DisplayColumnCollection Cols;
C1TrueDBGrid.C1DisplayColumn C;
 
Cols = this.c1TrueDBGrid1.Splits[1].DisplayColumns
foreach (C In Cols)
{
    C.Visible = false;
}
Cols(0).Visible = true;
Cols(1).Visible = true;
 
//ちょうど 2 つの列を表示するように Splits(1) を設定し、サイズ変更を無効にします
this.c1TrueDBGrid1.Splits[1].SplitSizeMode = SizeModeEnum.NumberOfColumns;
this.c1TrueDBGrid1.Splits[1].SplitSize = 2;
this.c1TrueDBGrid1.Splits[1].AllowHorizontalSizing = false;

1つのスプリットで列0と列1をスクロールしないように設定した場合、その他のスプリットでは、それらの列を非表示にするのが普通です。

Visual Basic コードの書き方

Visual Basic
コードのコピー
'スプリット 0 と 2 の列 0 と 1 を非表示にします
Dim Cols As C1TrueDBGrid.C1DisplayColumnCollection
Cols = Me.C1TrueDBGrid1.Splits(0).DisplayColumns
Cols(0).Visible = False
Cols(1).Visible = False
Cols = Me.C1TrueDBGrid1.Splits(2).DisplayColumns
Cols(0)Visible = False
Cols(1)Visible = False

C# コードの書き方

C#
コードのコピー
// スプリット 0 と 2 の列 0 と 1 を非表示にします
C1TrueDBGrid.C1DisplayColumnCollection Cols;
Cols = this.c1TrueDBGrid1.Splits[0].DisplayColumns;
Cols[0].Visible = false;
Cols[1].Visible = false;
Cols = this.c1TrueDBGrid1.Splits[2].DisplayColumns;
Cols[0]Visible = false;
Cols[1]Visible = false;
関連トピック