Как сортировать в TlistView на основе подпункта [x
Вопрос
Как сортировать в tlistview
с данными, присутствующими в subitem[x]
?
Решение
Задавать 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;
например. Если сравнивать отрицательно, элемент1 должен прийти до элемента2; Если сравнивать положительное, обратное применение. Таким образом, этот пример, который предполагает, что подпункт [x] содержит целое число, сортируют элементы в соответствии с числовым значением субтема [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;
Не связан с StackOverflow