一覧の各列をどのようにレイアウトするかの定義をレイアウト テンプレートと呼びます。レイアウト テンプレートを表す 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"}) |
行テンプレートおよび列ヘッダ テンプレートの詳しい設定方法については、以下を参照してください。