1

特定の列に特別な並べ替え方法を追加して、さまざまな種類の並べ替えを許可するにはどうすればよいですか (120.5.1.110 を最小値にする代わりに、120.5.1.12 と 120.5.1.110 の間で 120.5.1.50 を並べ替えるなど)。

また、テンプレート列にバインドされたカスタム タイプのクリック ヘッダーの並べ替えを許可するにはどうすればよいですか。これは可能ですか?

4

2 に答える 2

1

IComparerを実装し、独自の比較ロジックを定義できます。

public class MyComparer : IComparer<Object>
{

    public int Compare(Object stringA, Object stringB)
    {
         // Your logic here
    }
}

その後、カスタム比較ツールでLINQOrderByメソッドを使用できます。

items = items.OrderBy(x => property, comparer).ToList();

このリンクを参照してください。

編集 して、WPFデータグリッドのデフォルトの並べ替え動作をオーバーライドします。このリンクの回答を参照してください。

于 2013-03-08T11:46:17.807 に答える
0

列ヘッダーをクリックした後もカスタムの並べ替え順序を維持したい場合は、添付された動作を使用できます。私はうまくいくと思われるこの解決策を思いつきました:

各列のWPF DataGrid CustomSort

これは MVVM ソリューションです。コード ビハインドの世界を詳しく調べたい場合は、おそらくもっと簡単な方法があります。

于 2013-10-28T14:51:34.930 に答える