Ясно. Ты не о том классе говоришь. Я так понимаю ты имеешь в виду класс
TListView.
Но повторюсь - для сортировки обрабатывай событие OnCompare.
Это событие возникает:
- если свойство SortType равно stData или stBoth;
- если вызван метод AlphaSort;
- если метод CustomSort вызывается без параметра SortProc
Событие
OnCompare сравнивает элементы списка, которые передаются как параметры
Item1 и
Item2. Если
Item1 и
Item2 равноценны в порядке сортировки, установить параметр
Compare равным 0. Если
Item1 меньше
Item2 (в порядке сортировки) - установить
Compare меньшим 0, если
Item1 больше
Item2 - установить
Compare большим 0.
Это из хелпа. По-моему все предельно ясно.
Пример. Сортировка по алфавиту по столбцу ColNum.
Код:
procedure TForm1.ListView1Compare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
begin
//ColNum - номер столбца, по которому производится сортировка
if ColNum = 0 then
Compare := AnsiCompareText (Item1.Caption,Item2.Caption)
else
Compare := AnsiCompareText(Item1.SubItems[ColNum-1],Item2.SubItems[ColNum-1])
end;
Если нужен обратный порядок - просто умножай параметр
Compare на -1
Для производства сортировки можно вызвать метод: