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

Signaler
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
-
Messages postés
19
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mars 2010
-
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

Messages postés
19
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mars 2010

Super idée merci.
Messages postés
1
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
1 avril 2008

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)
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Il manque le zip !