1

の読み取り専用の順序付きビューとして機能する .NET のクラスはありますList<T>か? このビューを並べ替えるプロパティList<T>を構成すると、ビューDataViewDataTableリストを監視し、アイテムがリストに追加/リストから削除されると自動的に更新されます。

NBリストを反復する必要があるたびにLINQを使用してそれを行うことができOrderByましたが、反復する必要がある回数を見ると、これはやり過ぎのように見えます。

編集: A DataView(私が理解している限り)は、テーブル行の順序付きコピーを毎回再作成しません。コンストラクターで並べ替え列名を取得し、変更の基DataTableになるものを監視し、反復時にビューを最初から再作成するのではなく、オンザフライで更新します。

4

3 に答える 3

1

コレクションの個別のViewModel場合 (呼び出し元に提示される同じコレクションの異なる「形状」を持つことができるため)、BCL には何も存在せず、私が認識していることもありません。そのため、自分で構築する必要があります。ただし、コレクション内の変更を追跡するには (そのコレクション内のオブジェクトではなく、注意)、 ObservableCollectionを使用できます。

于 2013-09-18T11:00:53.410 に答える
0

おそらくSortedList.

SortedList(IComparer)ソートするフィールドを定義するカスタム比較子を渡すことができるコンストラクターがあります。

于 2013-09-18T11:02:31.367 に答える