LISTVIEW TRIÉE QUAND ON CLIQUE SUR L'ENTÊTE, COULEUR DIFFÉRENTE UNE LIGNE/COLONN

japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 - 14 janv. 2008 à 21:20
bubulemaster Messages postés 19 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 22 mars 2010 - 1 avril 2008 à 16:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45426-listview-triee-quand-on-clique-sur-l-entete-couleur-differente-une-ligne-colonne-sur-deux

bubulemaster Messages postés 19 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 22 mars 2010
1 avril 2008 à 16:52
Super idée merci.
hill_piper Messages postés 1 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 1 avril 2008
1 avril 2008 à 14:07
D'abord merci pour ce listview que j'ai déjà adopté.
Si je peux me permettre, j'aurais ajouter un ELSE dans la procedure :

TAdvancedListView.AdvancedListViewColumnClick(Sender: TObject; Column: TListColumn);

...
(ligne 602 si je ne me trompe pas)...
...

if (NumSubItem < temp.Item[j].SubItems.Count) and ((Sender as TListView).Items.Item[i].SubItems.Count > NumSubItem)

then
Condition := (Sender as TListView).Items.Item[i].SubItems.Strings[NumSubItem] <
temp.Item[j].SubItems.Strings[NumSubItem]
else
if (NumSubItem < temp.Item[j].SubItems.Count) then Condition := True else Condition:= False;

ça permet de trier sur des colonnes du listview dont l'index dépasse le nombre de subitems de l'enregistrement en cours de tri. Les subitems manquant sont traités comme s'il s'agissait de chaines vides (tri croissant : les vides au début ; tri décroissant : les vides à la fin)
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
14 janv. 2008 à 21:20
Il manque le zip !
Rejoignez-nous