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 に答える