FlexGrid for UWP
データの集計
C1FlexGrid の使い方 > データの集計

グリッドに販売データなどのデータを表示する場合に、国別または製品別の販売データなど、特定のカテゴリを集計したいことがあります。

それは、C1FlexGrid コントロールを使用して簡単に行うことができます。XAML マークアップまたはコードのいずれかで、集計する列の GroupAggregate プロパティを設定するだけです。このプロパティを設定すると、C1FlexGrid が自動的に集計を行い、その値がグループヘッダー行に表示されます。

次のグリッド定義で説明します。

XAML
コードのコピー
<c1:C1FlexGrid x:Name="c1FlexGrid1" AutoGenerateColumns="False" ShowOutlineBar="True"
BorderThickness="1">
<c1:C1FlexGrid.Columns>
<c1:Column Binding="{Binding Name}" Width="*"/>
<c1:Column Binding="{Binding Line}" />
<c1:Column Binding="{Binding Color}" />
<c1:Column Binding="{Binding Price}" Format="c2" Width="*"/>
<c1:Column Binding="{Binding Weight}" Format="n2" Width="*" />
<c1:Column Binding="{Binding Cost}" Format="c2" Width="*"/>
<c1:Column Binding="{Binding Volume}" Width="*"/>
<c1:Column Binding="{Binding Rating}" Format="n2" Width="*"/>
<c1:Column Binding="{Binding Discontinued}" Width="*"/>
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid>

製品種目別にデータをグループ化するように構成された C1CollectionView オブジェクトを ItemsSource プロパティに設定すると、C1FlexGrid で項目をグループ化できます。データを集計する前に、グループ化の方法を確認するには、このリンクを参照してください

FlexGrid は、項目をグループ化できるだけではありません。[Price]、[Weight]、[Cost]、[Volume]、[Rating]の各列の合計を表示する場合、XAML マークアップは次のようになります。

XAML
コードのコピー
<c1:C1FlexGrid x:Name="c1FlexGrid1" AutoGenerateColumns="False" ShowOutlineBar="True"
BorderThickness="1">
<c1:C1FlexGrid.Columns>
<c1:Column Binding="{Binding Name}" Width="*"/>
<c1:Column Binding="{Binding Line}" />
<c1:Column Binding="{Binding Color}" />
<c1:Column Binding="{Binding Price}" Format="c2" GroupAggregate="Sum" Width="*"/>
<c1:Column Binding="{Binding Weight}" Format="n2" GroupAggregate="Sum" Width="*" />
<c1:Column Binding="{Binding Cost}" Format="c2" GroupAggregate="Sum" Width="*"/>
<c1:Column Binding="{Binding Volume}" GroupAggregate="Sum" Width="*"/>
<c1:Column Binding="{Binding Rating}" Format="n2" GroupAggregate="Average" Width="*"/>
<c1:Column Binding="{Binding Discontinued}" Width="*"/>
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid>

[Rating]列は、平均値を集計するように設定されています。このように変更すると、C1FlexGrid コントロールは次の図のようになります。

列ヘッダーに各列の集計値が表示されます。