FlexGrid for WPF
データのソート

Added this content in [ソートを実行する]topic since even this topic talks about using SortDescriptions. Hence, hiding this topic from TOC.

ほとんどのグリッドと同様に、C1FlexGrid はソートをサポートします。列ヘッダをクリックすると、データは昇順または降順でソートされます。グリッドをソートすると、対応する列に、現在のソート方向を示す三角形が表示されます。

C1FlexGrid では、一般的なソート切り替え動作に加えて、[Ctrl]キーを押しながら列ヘッダをクリックすることでソートを解除できます。これにより、列に適用されているソートは解除され、データは元の順序で表示されます。

グループ化と同様に、実際のソートは、データソースとして使用される ICollectionView によって実行されます。グリッドは単にマウスクリックを検出するだけであり、ソートはこのデータソースオブジェクトに委任されます。また、コードを使ってデータをソートすることもできます。

たとえば、次のコードは、データを氏名および都道府県に基づいてソートします。

コードのコピー
// 初期状態にします。

view.SortDescriptions.Clear();

 

// 氏名に基づいてソートします。

view.SortDescriptions.Add(

  new SortDescription("氏名", ListSortDirection.Ascending));

 

// 次に、都道府県に基づいてソートします。

view.SortDescriptions.Add(

  new SortDescription("都道府県", ListSortDirection.Ascending));
コードのコピー
// 初期状態にします

view.SortDescriptions.Clear();

 

// 氏名に基づいてソートします

view.SortDescriptions.Add(

  new SortDescription("氏名", ListSortDirection.Ascending));

 

// 次に、都道府県に基づいてソートします

view.SortDescriptions.Add(

  new SortDescription("都道府県", ListSortDirection.Ascending));

このコードが呼び出されると、グリッドは、自動的にデータを新しいソート順で表示し、都道府県の列ヘッダに三角形のソートインジケータを表示します。

グリッドのソートを無効にするには、AllowSorting プロパティを false に設定します。特定の列のソートを無効にするには、Column.AllowSorting プロパティを false に設定します。また、ShowSort プロパティを false に設定することで、三角形のソートインジケータを非表示にすることもできます。

関連トピック