XamDataGrid は、列の配置を Row、Column、RowSpan、ColumnSpan の各プロパティで指定することができます。

注意が必要なのは、FieldGroup を 使用している場合です。
FieldGroupを使用している場合、その配下の Field も含めて 1 つの領域としてみなして Row、Column、RowSpan、ColumnSpan の値を設定する必要があります。
具体的なレイアウトを見ながら説明します。
レイアウト①
| FieldA | FieldB | FieldGroup1 |
| (FieldCがこの中に入る) |
FieldA、FieldB、FieldGroup1 の各 RowSpan は 1 です。
FieldGroup1 とその配下にある FieldC を 1 つのまとまりとしてみると、FieldA や FieldB と同じ行数分を占めるからです。
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:Field
Name="FieldA" Label="FieldA"
Row="0" RowSpan="1" Column="0" ColumnSpan="1"/>
<igDP:Field
Name="FieldB" Label="FieldB"
Row="0" RowSpan="1" Column="1" ColumnSpan="1"/>
<igDP:FieldGroup
Name="FieldGroup1" Label="FieldGroup1"
Row="0" RowSpan="1" Column="2" ColumnSpan="1">
<igDP:Field
Name="FieldC" Label="FieldC"
Row="0" RowSpan="1" Column="0" ColumnSpan="1" />
</igDP:FieldGroup>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
レイアウト②
| FieldA | FieldGroup1 |
| FieldB | (FieldCがこの中に入る) |
FieldA、FieldB の 各 RowSpan は 1、FieldGroup1 の RowSpan は 2 です。
FieldGroup1 とその配下にある FieldC を 1 つのまとまりとしてみると、FieldA や FieldB と比較して 2 行分の領域を占めるからです。
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:Field
Name="FieldA" Label="FieldA"
Row="0" RowSpan="1" Column="0" ColumnSpan="1"/>
<igDP:Field
Name="FieldB" Label="FieldB"
Row="1" RowSpan="1" Column="0" ColumnSpan="1"/>
<igDP:FieldGroup
Name="FieldGroup1" Label="FieldGroup1"
Row="0" RowSpan="2" Column="1" ColumnSpan="1">
<igDP:Field
Name="FieldC" Label="FieldC"
Row="0" RowSpan="1" Column="0" ColumnSpan="1" />
</igDP:FieldGroup>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
レイアウト③
| FieldA | FieldB | FieldC | FieldE | |
| FieldD | FieldF | FieldG | ||
FieldA、FieldB の 各 RowSpan は 2 になります。FieldE の ColSpan は 2 になります。
FieldA、FieldB は、FieldC、FieldD 等と比較して、2 行分の領域を占めるからです。
また、FieldE は、その他の Field と比較して、2 列分の領域を占めるからです。
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:Field
Name="FieldA" Label="FieldA"
Row="0" RowSpan="2" Column="0" ColumnSpan="1"/>
<igDP:Field
Name="FieldB" Label="FieldB"
Row="0" RowSpan="2" Column="1" ColumnSpan="1"/>
<igDP:Field
Name="FieldC" Label="FieldC"
Row="0" RowSpan="1" Column="2" ColumnSpan="1" />
<igDP:Field
Name="FieldD" Label="FieldD"
Row="1" RowSpan="1" Column="2" ColumnSpan="1" />
<igDP:Field
Name="FieldE" Label="FieldE"
Row="0" RowSpan="1" Column="3" ColumnSpan="2" />
<igDP:Field
Name="FieldF" Label="FieldF"
Row="1" RowSpan="1" Column="3" ColumnSpan="1" />
<igDP:Field
Name="FieldG" Label="FieldG"
Row="1" RowSpan="1" Column="4" ColumnSpan="1" />
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
サンプル
リファレンス
- 「デフォルトの列と行の定義を変更」
- 「フィールドのグループ化 (xamDataGrid)」