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 コントロールは次の図のようになります。
