Page 1 sur 1

[R] Tri ascendant/descendant d'une ListView avec icônes

Posté : mer. 15 avr. 2009 19:40
par orax
Bonjour, j'ai une ListeView dans laquelle il y a des icônes. Le problème c'est que quand un élément change de place (quand je trie la liste) l'icône de l'élément reste à la même place.

J'ai ajouté _GUICtrlListView_RegisterSortCallBack pour qu'on puisse trier la liste quand on clique sur une colonne. Ca trie bien ma liste mais quand un élément est ajouté, celui-ci n'est pas trier, je dois le faire manuellement (ce que je fais avec la fonction trieListe()). Le problème c'est qu'en faisant comme ça, comme je l'ai dit plus haut, l'icône ne change pas de place.
► Afficher le textepour voir un exemple

Re: [..] Tri ascendant/descendant d'une ListView avec icônes

Posté : ven. 17 avr. 2009 14:13
par Iste
heu... chez moi ca marche ^^' apres l'ouverture de notepad et avant le message qui dit qu'il y a un probleme, la liste est bien retriée par nom et notepad remonte :/
ou alors j'ai pas compris le probleme ?

Re: [..] Tri ascendant/descendant d'une ListView avec icônes

Posté : ven. 17 avr. 2009 16:34
par orax
Iste a écrit :heu... chez moi ca marche ^^' apres l'ouverture de notepad et avant le message qui dit qu'il y a un probleme, la liste est bien retriée par nom et notepad remonte :/
ou alors j'ai pas compris le probleme ?
Quand notepad est remonté, son icône n'est pas la bonne (je viens de le préciser dans le code) : notepad prend l'icône d'un autre processus, et le dernier processus dans la liste prend l'icône de notepad. En gros, le nom du processus (notepad.exe) est bien remonté (trié) mais pas son icône.

Je viens de remarquer autre chose : tous les icônes qui suivent notepad.exe (après avoir été trié) sont décalés, ils ne correspondent pas à leur processus.

Re: [..] Tri ascendant/descendant d'une ListView avec icônes

Posté : ven. 17 avr. 2009 17:03
par Iste
Ha oui, effectivement, j'ai bien le meme bug.
Beh, je jette un coup d'oeil alors, mais si ta fonction d'ini marche, il doit juste avoir un petit bug dans la MAJ de la liste...

Sinon, un peu barbar mais qui marche, tu peux tout supprimer et tout recreer (ca m'a l'air plutot rapide)

Re: [..] Tri ascendant/descendant d'une ListView avec icônes

Posté : ven. 17 avr. 2009 17:17
par GaRydelaMer
Bonjour

moi de ce que j'ai compris de ton script, tu fais le tri mais avec 2 fonction différentes.

Au début
_GUICtrlListView_SortItems($hListView, $indexColonne) ; trie une la liste

Puis dans ta fonction Trie

_GUICtrlListView_SimpleSort($hListView, $ordreTrie, $indexColonne)

Peut être que l'erreur viens de la !!!

Re: [..] Tri ascendant/descendant d'une ListView avec icônes

Posté : ven. 17 avr. 2009 19:42
par orax
Oui, en effet l'erreur viens du fait que j'utilise deux fonctions différentes. Le problème est que quand j'utilise _GUICtrlListView_SortItems() une première fois, il me trie la liste par ordre alphabétique et si je le réutilise une deuxième fois la liste sera trié dans le sens contraire. Visiblement avec cette fonction il n'est pas possible de spécifier l'ordre de tri et c'est pour cette raison que j'avais utilisé une deuxième fonction.
Je crois toutefois que le problème est résolu, cette fois je n'utilise qu'une seule et même fonction.

Merci de votre aide. Je ne sais pas s'il y a un autre moyen de faire mais ça semble fonctionner comme ça.

Voilà les fonctions que j'ai dû ajouter (en gros, j'ai modifié la fonction de tri dans l'UDF qui inversait l'ordre de tri à chaque fois) :
► Afficher le texte