一覧の各列をどのようにレイアウトするかの定義をレイアウト テンプレートと呼びます。レイアウト テンプレートを表す LayoutTemplate は次の3つの要素で構成されています。

列定義はレイアウトテンプレートの列数および列幅の設定を表します。そして、行テンプレートは行のレイアウト定義を、列ヘッダ テンプレートは列ヘッダのレイアウト定義を表します。行テンプレートおよび列ヘッダ テンプレートは共通の列定義を参照します。なお、列ヘッダテンプレートは必須ではありません。列ヘッダテンプレートが設定されていない場合、行と同じテンプレートが列ヘッダに適用されます。つまり、列ヘッダと行が同じレイアウトで表示されます。
レイアウトは、コントロールがデータソースに連結されているかどうかに関わらず設定できます。
レイアウトを設定するには、一覧の各列を行テンプレートおよび列ヘッダ テンプレートのセルに割り当てます。列を割り当てるには、列インデックスを指定する方法と列名を指定する方法があります。それぞれの方法について説明します。
行テンプレートや列ヘッダ テンプレートの DataColumnIndex プロパティに列インデックス(レイアウト テンプレート適用前の列の位置)を指定します。
この例では、行テンプレートの1行1列目のセルに、テンプレートを適用前の2列目を割り当てます。
| C# |
コードのコピー |
|---|---|
myTemplate.RowTemplate.Cells.Add(
new CellTemplate() { RowIndex = 0, ColumnIndex = 0, DataColumnIndex = 1}); | |
| Visual Basic |
コードのコピー |
|---|---|
myTemplate.RowTemplate.Cells.Add(
New CellTemplate() With {.RowIndex = 0, .ColumnIndex = 0, .DataColumnIndex = 1}) | |
あらかじめ、各列の Name プロパティに列名を設定します。そして、行テンプレートや列ヘッダ テンプレートの DataColumnName プロパティに列名を指定します。
この例では、行テンプレートの1行1列目のセルに、列名が「ID」の列を割り当てます。
| C# |
コードのコピー |
|---|---|
myTemplate.RowTemplate.Cells.Add(
new CellTemplate() { RowIndex = 0, ColumnIndex = 0, DataColumnName = "ID"}); | |
| Visual Basic |
コードのコピー |
|---|---|
myTemplate.RowTemplate.Cells.Add(
New CellTemplate() With {.RowIndex = 0, .ColumnIndex = 0, .DataColumnName = "ID"}) | |
行テンプレートおよび列ヘッダ テンプレートの詳しい設定方法については、以下を参照してください。