Domanda

Come ordinare in tlistview con i dati presenti in subitem[x]?

È stato utile?

Soluzione

Set SortType := stData e scrittura

procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  Compare := StrToInt(Item1.SubItems[x]) - StrToInt(Item2.SubItems[x])
end;

per esempio. Se confrontare è negativo, Item1 dovrebbe venire prima Item2; se confronta è positivo, vale il contrario. Così questo esempio, che presuppone che SubItem [x] contiene un numero intero, ordinerà gli articoli secondo il valore numerico di SubItem [x].

Se, d'altra parte, SubItem [x] contiene stringhe, allora si può scrivere

procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  Compare := AnsiCompareText(Item1.SubItems[x], Item2.SubItems[x]);
end;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top