Pregunta

Cómo ordenar en tlistview con los datos presentes en subitem[x]?

¿Fue útil?

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
scroll top