8

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

4

1 回答 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 之前;如果比较是肯定的,则相反。因此,这个假设 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;
于 2010-07-03T16:17:05.393 回答