如何基于subitem [x]在Tlistview中排序

ste*_*ve0 8 delphi vcl tlistview

如何对tlistview存在的数据进行排序subitem[x]

And*_*and 10

设置SortType := stData和写

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

例如.如果比较为负,则Item1应该在Item2之前; 如果比较为正,则相反.因此,假设SubItem [x]包含整数的此示例将根据SubItem [x]的数值对项目进行排序.

另一方面,如果SubItem [x]包含字符串,那么您可以编写

procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin
  Compare := AnsiCompareText(Item1.SubItems[x], Item2.SubItems[x]);
end;
Run Code Online (Sandbox Code Playgroud)