如何在TListView中按subitem[x]进行排序

8

如何按照位于subitem[x]中的数据在tlistview中排序?

1个回答

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;
例如,如果compare为负,则Item1应该排在Item2之前;如果compare为正,则相反。因此,假设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;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接