[R] ListView : tri sur colonne Date
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] ListView : tri sur colonne Date
Bonjour,
J'ai adapté le code de fred39 ( http://www.autoitscript.fr/forum/viewto ... f=4&t=3030 ) pour créer une ListView, triable par clic sur l'entête de chaque colonne. Ce code fonctionne très bien et je remercie son auteur de le proposer.
L'une des colonnes de ma ListView affiche des dates sous le format JJ/MM/AAAA . Bien entendu, le tri sur cette colonne ne peut être qu'incorrect. A part formater les dates de la manière AAAA/MM/JJ , y a-t-il une autre solution pour que le tri soit efficace ?
Je vous remercie de vos idées.
J'ai adapté le code de fred39 ( http://www.autoitscript.fr/forum/viewto ... f=4&t=3030 ) pour créer une ListView, triable par clic sur l'entête de chaque colonne. Ce code fonctionne très bien et je remercie son auteur de le proposer.
L'une des colonnes de ma ListView affiche des dates sous le format JJ/MM/AAAA . Bien entendu, le tri sur cette colonne ne peut être qu'incorrect. A part formater les dates de la manière AAAA/MM/JJ , y a-t-il une autre solution pour que le tri soit efficace ?
Je vous remercie de vos idées.
Modifié en dernier par aulus le sam. 13 déc. 2014 22:13, modifié 3 fois.
Re: [..] ListView : tri sur colonne Date
Bonjour,
Peux tu afficher ton code afin de t'aider à le corriger ?
Peux tu afficher ton code afin de t'aider à le corriger ?
Y01
Re: [..] ListView : tri sur colonne Date
Il n'y a rien à corriger
Il ne s'agit pas d'une erreur mais du fonctionnement normal d'un tri sur date de format JJ/MM/AAAA.
Ce que je souhaiterais savoir, c'est si un tri de dates ne peut se faire que sur un format AAAA/MM/JJ , ou si je peux espérer une solution conservant l'affichage JJ/MM/AAAA et triable.
Il ne s'agit pas d'une erreur mais du fonctionnement normal d'un tri sur date de format JJ/MM/AAAA.
Ce que je souhaiterais savoir, c'est si un tri de dates ne peut se faire que sur un format AAAA/MM/JJ , ou si je peux espérer une solution conservant l'affichage JJ/MM/AAAA et triable.
Re: [..] ListView : tri sur colonne Date
Après une petite recherche, je suis tombé sur ça.
Peut être un UDF a-t-il été créé depuis le temps mais je ne le connais pas si c'est le cas.
EDIT : Peut être peux tu jouer sur le quantième "@YDAY"
ex : pour avoir le quantième du 12/12/2014 et être sur qu'il est plus petit que le 11/12/2015, tu fais :
En cumulant le quantième et l'année, tu obtiens de cette manière un chiffre unique par date.
Peut être un UDF a-t-il été créé depuis le temps mais je ne le connais pas si c'est le cas.
EDIT : Peut être peux tu jouer sur le quantième "@YDAY"
ex : pour avoir le quantième du 12/12/2014 et être sur qu'il est plus petit que le 11/12/2015, tu fais :
Code : Tout sélectionner
$jour = @YDAY + @YEARY01
Re: [..] ListView : tri sur colonne Date
Merci pour le lien. Je vois qu'il n'y a pas trop d'espoirs de réussir à trier des dates sous le format d'affichage français.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [R] ListView : tri sur colonne Date
C'est vrai mais il y a une combine assez simple : créer un subitem (colonne) supplémentaire avec la date au format AAAMMJJ (1 seul nombre), cacher cette colonne (avec _GUICtrlListView_HideColumn par exemple), et faire en sorte que quand tu cliques sur la colonne 'date' le tri se fasse sur la colonne cachée (2 ou 3 lignes à rajouter dans le WM_NOTIFY)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [R] ListView : tri sur colonne Date
Bonjour Mikell,mikell a écrit :... et faire en sorte que quand tu cliques sur la colonne 'date' le tri se fasse sur la colonne cachée (2 ou 3 lignes à rajouter dans le WM_NOTIFY)
J'avais pensé à cette astuce mais étant incapable de trier une colonne en cliquant sur l'entête d'une autre j'avais abandonné l'idée.
Je profite de ce message pour poser deux autres questions :
1. le tri étant parfois long, je souhaiterais afficher un SplashText pour patienter dans la fonction _WM_NOTIFY. J'ai tenté l'affaire en plaçant à divers endroit de la fonction mon SplashTextOn . Mais j'obtiens dans tous les cas un plantage du programme. Où pourrais-je caser mes SplashTextOn et SplashOff ?
2. Lorsque je clique sur une ligne de la ListView, seule est surlignée la valeur de la colonne 1... ce qui n'est pas grave en soi. Mais la sélection ne se fait pas (je ne récupère pas le contenu de la ligne) avec le code :
GUICtrlRead(GUICtrlRead($myListView))
La création d'une Listview avec la fonction _GUICtrlListView_Create ne le permet-il pas avec ce code fonctionnant avec la fonction de création classique GuiCtrlCreateListview ? La fonction _GUICtrlListView_ClickItem n'est-elle pas compatible ?
Merci
Re: [..] ListView : tri sur colonne Date
Salut,
Un code que j'ai trouvé sur le net et que j'ai modifié un peu...
Un code que j'ai trouvé sur le net et que j'ai modifié un peu...
► Afficher le texte
Re: [..] ListView : tri sur colonne Date
Merci Hugues,
Grâce à votre code, j'ai pu récupérer l'ensemble de l'item sélectionné dans ma ListView.
Grâce à votre code, j'ai pu récupérer l'ensemble de l'item sélectionné dans ma ListView.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [R] ListView : tri sur colonne Date
ça dépend de la méthode de tri utilisée mais si tu te bases sur le code évoqué dans ton post 1, peut-être qqe chose comme ça (pas testé)aulus a écrit :J'avais pensé à cette astuce mais étant incapable de trier une colonne en cliquant sur l'entête d'une autre j'avais abandonné l'idée.
Code : Tout sélectionner
Switch $iCode
Case $LVN_COLUMNCLICK
Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
Local $col = DllStructGetData($tInfo, "SubItem")
If $col = 2 Then _GUICtrlListView_SortItems($hWndFrom, 4) [color=#FF0000];<<<<<[/color]
EndSwitch" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] ListView : tri sur colonne Date
Merci Mikell, votre code marche à la perfection.



