True DBGrid for WinForms
データの複数ライン表示
データの表示 > データの複数ライン表示

通常、レコードは、グリッドの1つの行に表示されます。グリッドの幅が小さく、レコード内のすべての列を表示できない場合は、自動的に水平スクロールバーが表示され、表示領域の内外に列をスクロールできるようになります。まず、次の2つの違いを理解してください。

グリッドの DataView プロパティを DataViewEnum.MultipleLines に設定すると、使用できるグリッド領域内にデータセット内のデータフィールドをすべて表示できます。つまり、データセット内のフィールドがグリッド領域内に入りきらない場合は、1つのレコードに複数のラインが表示されます。この機能を使用すると、次の図のようにレコードのすべての列(フィールド)をグリッドの幅に一度に表示できるため、エンドユーザーが水平方向にスクロールする必要がなくなります。

作成された列のレイアウトに満足できない場合は、設計時または実行時に列の幅や順番を変えてレイアウトを調整できます。列の幅を変更して大きくすると、そのライン内の他の列の幅がその分狭くなります。前バージョンのグリッドとは異なり、列は、サイズ変更されても次のラインに折り返されません。

複数ライン表示で列の順番を変更するには、列ヘッダを新しい位置までクリック&ドラッグします。列を配置する場所を示す赤い矢印が表示されます。列をドロップすると、それに応じて列の配置が変更されます。

メモ:設計時に、HScrollBar および VScrollBar の各スタイルプロパティが ScrollBarStyleEnum.Automatic  に設定されており、DataView プロパティが MultipleLines に設定されている場合は、表示するデータがなくても、垂直スクロールバーが表示されます。これは、設計時に、スクロールバーの幅を計算に入れながら列を調整できるようにするためです。

複数ラインモードについて

行に関連する現行のプロパティ、メソッド、およびイベントは、これまでのレコード、行、およびラインの定義にも適合しています(後で説明する2つの例外を除く)。次に例を示します。

行に関連するその他のプロパティ、メソッド、およびイベントも、同様に解釈されますが、次の2つは例外です。

  1. 第1の例外は RowHeight プロパティです。RowHeight プロパティは、行の高さではなく、セルまたはラインの高さを返します。このプロパティを変更すると、ユーザーの既存のコードが壊れるため、このプロパティは変更されていません。
  2. 第2の例外は、例外というより制限です。現在、行とラインの分割線は同じです。RowDivider オブジェクトの Style プロパティを変更すると、行およびラインの分割線がすべて同じスタイルに変更されます。つまり、行とラインに異なる分割線を設定することはできません。