FlexGrid for WPF
複数列のソートを実行する
基本操作 > ソート > 複数列のソートを実行する

グリッドで複数列をソートできるように、ICollectionView.SortDescriptions に対象列の名前を指定して実現できます。

たとえば、次のコードでは、グリッドはデータソースと連結していることを前提として、「Name」と「Rating」列に基づいてソートする方法を示します。

メモ:グリッドで列の表示順番によってソート結果が異なりますのでご注意ください。たとえば、「Rating」列は「Name」の先に表示されている場合「Rating」のソート順番が優先されてその後「Name」に基づいてソートされます。

 

 

コードのコピー
Public Sub New()
    InitializeComponent()
    _flex.ItemsSource = Product.GetProducts(30)
    'ICollectionView.SortDescriptions を使用します
    _flex.CollectionView.SortDescriptions.Add(New System.ComponentModel.SortDescription("Rating", System.ComponentModel.ListSortDirection.Ascending))
    _flex.CollectionView.SortDescriptions.Add(New System.ComponentModel.SortDescription("Name", System.ComponentModel.ListSortDirection.Ascending))
End Sub
コードのコピー
public MainWindow()
{
    InitializeComponent();
    _flex.ItemsSource = Product.GetProducts(30);
    //ICollectionView.SortDescriptions を使用します
    _flex.CollectionView.SortDescriptions.Add(new System.ComponentModel.SortDescription("Rating", System.ComponentModel.ListSortDirection.Descending));
    _flex.CollectionView.SortDescriptions.Add(new System.ComponentModel.SortDescription("Name", System.ComponentModel.ListSortDirection.Ascending));
    
}