xamGrid コントロールの代わりに xamDataGrid コントロールを使用してください。xamGrid は数年以内に廃止する予定のため、新しい機能の追加はありません。xamGrid のサポートおよび重要なバグ修正は廃止時まで提供されます。コードベースの xamDataGrid への移動に関する質問は、サポートまでお問い合わせください。
デフォルトで、結合された列には列の値が表示されます。ただし、テンプレートを使用することでこのデフォルトの表示を変更できます。
以下のスクリーンショットは、セルの結合機能を使用して、グリッド内でグループ化された単価列を表示します。結合されたセル値は、書式を通貨に設定した単価の値、および xamGrid コントロール内の各結合された列のグループ行の数を示します。
図 1: MergedItemTemplate プロパティをデータ テンプレートのインスタンスに設定した xamGrid コントロール
これは Column の MergedItemTemplate プロパティをデータ テンプレートのインスタンスに設定することで実行されます。このデータ テンプレートのデータ コンテキストは、以下の 3 つのプロパティを持つ MergedItemDataContext タイプです。
Value - 結合された列の値
Records - 結合された列に属するデータ オブジェクトのコレクション
Count - 結合された列に属する項目の数。
XAML の場合:
<ig:TextColumn Key="UnitPrice" FormatString="{}{0:C}"> <!-- データ テンプレートを使用して、結合された列ごとにカスタム キャプションを設定します --> <ig:TextColumn.MergedItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <!-- 通貨として Value をフォーマットするために値コンバーターを使用します --> <TextBlock Text="{Binding Value, Converter={StaticResource GroupByValueConverter}}"></TextBlock> <TextBlock Text=" (" /> <TextBlock Text="{Binding Count}"></TextBlock> <TextBlock Text=")" /> </StackPanel> </DataTemplate> </ig:TextColumn.MergedItemTemplate> </ig:TextColumn>
関連トピック