Comment faire pour trier dans tlistview
avec des données présentes dans subitem[x]
?comment trier dans Tlistview basé sur le sous-élément [x]
7
A
Répondre
9
Set SortType := stData
et écrire
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
begin
Compare := StrToInt(Item1.SubItems[x]) - StrToInt(Item2.SubItems[x])
end;
par exemple. Si la comparaison est négative, Item1 devrait précéder Item2; si la comparaison est positive, l'inverse s'applique. Ainsi, cet exemple, qui suppose que SubItem [x] contient un entier, va trier les items en fonction de la valeur numérique de SubItem [x].
Si, d'autre part, sous-élément [x] contient des chaînes, vous pouvez écrire
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
begin
Compare := AnsiCompareText(Item1.SubItems[x], Item2.SubItems[x]);
end;