SPREAD for WPF 3.0J - GcSpreadGrid
レイアウトの設定(1レコード複数行)
GrapeCity SPREAD for WPF 3.0J > 開発者ガイド > 1レコード複数行 > レイアウトの設定(1レコード複数行)

一覧の各列をどのようにレイアウトするかの定義をレイアウト テンプレートと呼びます。レイアウト テンプレートを表す 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"})
コントロールがデータソースに連結されている場合、データソースのフィールド名が列名として自動的に設定されます。そのため、各列の Name プロパティを手動で設定する必要はありません。列名について、詳しくは「列名参照」を参照してください。

行テンプレートおよび列ヘッダ テンプレートの詳しい設定方法については、以下を参照してください。

関連トピック