C #: Каков наилучший способ реализовать механизм «фильтра» для элементов ListView? - PullRequest
2 голосов
/ 05 июня 2009

C #: Каков наилучший способ реализации механизма «фильтра» для элементов ListView?

Я хочу отфильтровать некоторые элементы списка в режиме просмотра в деталях, где он содержит строки и столбцы. Что было бы наилучшим вариантом для создания такого механизма, в котором я мог бы быстро убрать рассматриваемые элементы из поля зрения, оставив остальные нетронутыми, и вернуть их обратно в представление списка, когда больше нет необходимости фильтровать элементы представления списка? Должен ли я удалить / скопировать их в список и просто добавить их обратно, когда это будет сделано, или будет ли лучший способ сделать это более эффективно? В списке будет около 100-500 наименований.

Ответы [ 2 ]

0 голосов
/ 05 июня 2009

Если вы работаете с элементом управления с привязкой к данным, у вас будет эта возможность в рамках привязки.

Если нет, я бы, вероятно, сохранил бы все элементы списка отдельно и каждый раз заполнил бы элемент управления полностью, основываясь на любых контекстных требованиях, таких как фильтрация. Код для перебора списка и перемещения элементов, которые не требуются в настоящее время, вероятно, излишне сложен. Полное повторное заполнение каждый раз будет проще и не будет сильно отличаться с точки зрения вычислительных затрат.

0 голосов
/ 05 июня 2009

Это поведение встроено в BindingSources с использованием DataSets в .Net 2.0.

Для .Net 3.0+ вы можете использовать LINQ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...