2009-06-05 5 views
2

C#: Quelle est la meilleure façon d'implémenter un mécanisme 'filter' pour les éléments ListView?C#: Quelle est la meilleure façon d'implémenter un mécanisme 'filter' pour les éléments ListView?

Je souhaite filtrer certains éléments de la vue listée en mode 'détails' où ils contiennent des lignes et des colonnes. Quelle serait la meilleure option pour créer un tel mécanisme dans lequel je pourrais retirer rapidement les objets en question, laissant les autres intacts, et les réintégrer dans la liste quand il n'y aurait plus besoin de filtrer les éléments listview? Devrais-je les supprimer/les copier dans une liste et les ajouter et les réintégrer une fois terminé ou y aurait-il une meilleure méthode pour le faire plus efficacement? Le listview manipulera environ 100-500 articles.

Répondre

0

Si vous travaillez avec un contrôle de base de données, vous aurez cette fonctionnalité dans la structure de liaison.

Si ce n'est pas le cas, je stockerais probablement tous les éléments de la liste séparément et remplirait le contrôle en entier à chaque fois, en fonction de toutes les exigences contextuelles telles que le filtrage. Le code pour parcourir la liste et déplacer les éléments non requis à l'heure actuelle est probablement inutilement compliqué. Un repeuplement complet à chaque fois sera plus facile et ne différera pas beaucoup en termes de dépenses de calcul.

0

Ce comportement est intégré à BindingSources à l'aide de DataSets dans .Net 2.0.

Pour .Net 3.0+, vous pouvez utiliser LINQ.

Questions connexes