как отсортировать в Tlistview на основе подэлемента [x]

Как отсортировать в tlistview с данными, существующими в subitem[x]?

8
задан Mosty Mostacho 24 March 2012 в 22:13
поделиться

1 ответ

Set SortType := stData и write

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

например. Если сравнение отрицательное, то элемент 1 должен оказаться перед элементом 2; если сравнение положительное, то наоборот. Таким образом, этот пример, предполагающий, что 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;
10
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: