cómo ordenar en TListView basado en el subpunto [x]
Pregunta
Cómo ordenar en tlistview
con los datos presentes en subitem[x]
?
Solución
SortType := stData
Set y escribir
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
begin
Compare := StrToInt(Item1.SubItems[x]) - StrToInt(Item2.SubItems[x])
end;
por ejemplo. Si comparar es negativo, Elemento1 debe venir antes de Item2; si se compara es positivo, se aplica lo contrario. Por lo tanto este ejemplo, que asume que SubItem [x] contiene un número entero, clasificará los artículos de acuerdo con el valor numérico de SubItem [x].
Si, por el contrario, SubItem [x] contiene cadenas, entonces se puede escribir
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
begin
Compare := AnsiCompareText(Item1.SubItems[x], Item2.SubItems[x]);
end;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow