FlexGrid for UWP
データのグループ化
C1FlexGrid の使い方 > データのグループ化
このトピックでは、FlexGridSamples プロジェクトの FlexGridDemo ページにあるコードを使用します。このプロジェクトには、Customer.cs コードファイルも入っています。

C1FlexGrid コントロールでは、C1CollectionView クラスを通してデータのグループ化が行われます。たとえば、顧客リストを含むグリッドでは、C1CollectionView に少しのコードを追加して、顧客を国別にグループ化できます。

C#
コードのコピー
C1.Xaml.C1CollectionView view;

    // 顧客の監視可能なリストを作成します
    var list = new System.Collections.ObjectModel.ObservableCollection();
    for (int i = 0; i < 100; i++)
        list.Add(new Customer());
    // リストから C1CollectionView を作成します
    view = new C1.Xaml.C1CollectionView(list);
    // 顧客を国別にグループ化します
    view.GroupDescriptions.Add(new C1.Xaml.PropertyGroupDescription("Country"));

    c1FlexGrid1.ItemsSource = view;

プロジェクトを実行すると、次の図のような FlexGrid が表示されます。

データ項目が国別にグループ化されています。ユーザーは国名の隣にあるアイコンをクリックまたはタップして、国カテゴリを折りたたんだり、展開することができます。また、列名をクリックまたはタップして、データのソートを制御することもできます。

グループ化を変更する場合は、次のコードで列名を変更するだけです。

C#
コードのコピー
view.GroupDescriptions.Add(new
C1.Xaml.PropertyGroupDescription("Country"));

顧客の姓でソートする場合は、"Country" を "Last" に変更するだけです。

C#
コードのコピー
 // 顧客の監視可能なリストを作成します

     var list = new System.Collections.ObjectModel.ObservableCollection<Customer>();
    for (int i = 0; i < 100; i++)
        list.Add(new Customer()); 

   // リストから C1CollectionView を作成します
   // (ソート、フィルタリング、およびグループ化をサポートしています)
   view = new C1.Xaml.C1CollectionView(list); 

   // 顧客を国別にグループ化します
   view.GroupDescriptions.Add(new C1.Xaml.PropertyGroupDescription("Last"));

グループ化を変更すると、FlexGrid コントロールは次の図のようになります。