2009-06-05 5 views
2

C#:ListViewアイテムのための「フィルタ」メカニズムを実装する最良の方法は何ですか?C#:リストビュー項目の「フィルタ」メカニズムを実装する最善の方法は何ですか?

ビューからいくつかのリストビュー項目を、行と列を含む「詳細」モードで除外したいとします。リストビュー項目をフィルタリングする必要がなくなったときに、問題の項目を表示から素早く削除し、他の部分をそのまま残してリストビューに戻すことができるようなメカニズムを作成するための最良のオプションは何でしょうか?リストを削除/コピーして、リストに追加して終了したら、追加するか、これをより効果的に行うためのより良い方法がありますか?リストビューは約100〜500個のアイテムをハンドリングします。

答えて

0

データバインドコントロールを使用している場合は、この機能がバインディングフレームワーク内にあります。

もしそうでなければ、私はリストのすべてのアイテムを別々に保存し、フィルタリングなどのコンテキスト上の要件に基づいて毎回コントロールにフルコントロールを設定します。リストを反復して現在必要でない項目を移動するコードは、おそらく不必要に複雑なものです。毎回完全に再投入すると計算が簡単になり、計算コストの点で多くの違いはありません。

0

この動作は、.NET 2.0のDataSetsを使用するBindingSourcesに組み込まれています。

.Net 3.0+では、LINQを使用できます。

関連する問題