2010-07-03 64 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;