Listview + Trie [Résolu]

Signaler
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Bonjour à tous,

J'ai un listview et je voudrais trier par ordre croissant ou décroissant suivant si on clique sur colonne.
Donc j'ai dérivé un listview et j'ai implementer l'interface IComparer pour pouvoir trier mes items.
Le problème est que dans un listview on ne met que des chaines et j'aurais besoin d'un trie par date.

Si j'ai

12/10/2006
12/5/2005
11/9/2009

Que pensez vous de la solution de regarder le premier item de chaque colonne pour voir si il s'agit d'un type 12/10/2006 et si oui effectuer un tri par date ? ou bien y'a t'il qq chose de plus malin à faire.

Par avance, merci.

3 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
Première remarque... pourquoi dériver le listview ?
La propriété ListItemSorter est là pour lui donner une classe implémentant IComparer.

quant à la solution que tu proposes, c'est une solution que j'utilisais avant... mais le jour où le premier item est blanc... ca ne marche plus.
Je crée donc 3 IComparer (String, DateTime, Double) et suivant l'index de la colonne à trier, je sais lequel lui donner.


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
tu connais l'index de la colonne au moment du click.

Dans l'évènement ColumnClick tu as e.Column.


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
Ben dans mon cas je ne peux savoir quel est l'index pour trier mon listview, enfin à terme j'aurais au moins 30 listview.