デフォルトでは、グリッドにはスプリットインデックス0の水平スプリットが1つだけあります。また、その HScrollBar および VScrollBar の各スタイルプロパティは、ScrollBarStyleEnum.Automaticに設定されています。つまり、列の幅および有効なデータ行の数に応じて、必要時に水平スクロールバーや垂直スクロールバーが表示されます。デフォルトのスプリットの HorizontalScrollGroup プロパティと VerticalScrollGroup プロパティは1に設定されています。同じスクロールグループプロパティの設定を持つスプリットは、垂直方向または水平方向に一緒にスクロールします。新しく作成されたスプリットは、スクロールバーの状態とスクロールグループプロパティの両方を親スプリットから継承します。同じ HorizontalScrollGroup または VerticalScrollGroup に属するすべてのスプリットで、HScrollBar または VScrollBar のスタイルプロパティが ScrollBarStyleEnum.Automatic に設定されている場合、垂直スクロールバーはスクロールグループの右端のスプリットだけに、水平スクロールバーはスクロールグループの下端のスプリットだけに表示されます。この1つのスクロールバーを操作すると、同じスクロールグループ内のすべてのスプリットが同時にスクロールされます。
たとえば、次のコードで2つのスプリットを追加して作成するとします。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
' 左にスプリットを作成します Me.C1TrueDBGrid1.InsertHorizontalSplit(0) ' 別のスプリットを作成します Me.C1TrueDBGrid1.InsertHorizontalSplit(0) |
C# コードの書き方
C# |
コードのコピー
|
---|---|
// 左にスプリットを作成します this.c1TrueDBGrid1.InsertHorizontalSplit(0); // 別のスプリットを作成します this.c1TrueDBGrid1.InsertHorizontalSplit(0); |
これらのグリッドは、次のように表示されます。
これら3つのスプリットは、すべて同じ HScrollBar 設定と VScrollBar 設定を持ち、VerticalScrollGroup は1に設定されています。ただし、垂直スクロールバーは、右端のスプリットに1つだけ表示されます。このスクロールバーを操作すると、3つのスプリットがすべて同時にスクロールされます。
垂直スプリットも同様に動作します。グリッドに2つの垂直スプリットを追加すると、すべてのスプリットの HorizontalScrollGroup 設定が1になります。これで、グリッドの下端に水平スクロールバーが1つだけ表示され、このスクロールバーをスクロールすると、3つのスプリットが同時にスクロールされます
スプリットのスクロールグループプロパティの1つを変更すると、独立してスクロールする複数のスプリットグループを作成できます。上の例で、中央のスプリットの HorizontalScrollGroup プロパティを2に設定すると、新しいスクロールグループが作成されます。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Me.C1TrueDBGrid1.Splits.Item(0,1).HorizontalScrollGroup = 2 |
C# コードの書き方
C# |
コードのコピー
|
---|---|
this.c1TrueDBGrid1.Splits[0,1].HorizontalScrollGroup = 2; |
この文を実行すると、中央のスプリットをスクロールしても、他のスプリットは動きません。次の図のようになります。
中央のスプリットに水平スクロールバーがあることがわかります。HorizontalScrollGroup プロパティが2であるのは中央のスプリットだけなので、このスクロールバーは、中央のスプリットだけに作用します。下のスプリットにある水平スクロールバーは、下と上のスプリットだけを制御するようになります。中央のスプリットには影響を及ぼしません。
この機能は、2つの独立したスプリットグループを作成する場合によく使用されます。これにより、各スプリットをスクロールして異なる行セットを表示し、異なるレコードのフィールド値同士を比較できます。