2010-07-03 32 views

回答

9

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; 

例如。如果比较是否定的,Item1应该在Item2之前;如果比较结果是肯定的,则相反。因此,这个假设SubItem [x]包含整数的示例将根据SubItem [x]的数值对项目进行排序。

如果,另一方面,分项[X]包含字符串,那么你可以写

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