Как отсортировать TListView ???
От: DreamMaster Россия http://www.e-portal.ru
Дата: 30.01.04 05:52
Оценка:
Подскажите, пожалуйста, как отсортировать TListView. Все перепробовал — результата никакого... Буду признателен любым рекомендациям.
вот как я делаю сортировку: (получается полная белиберда, хотя я думаю, что все делаю правильно)


procedure TForm1.ListView4ColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  ListView_sorting(false, ListView4, Column.Index);
end;

procedure TForm1.ListView_sorting(Down:boolean;var ListView:TListView; column: integer);
Var Skach,m,n:integer;
    St:boolean;
    Tmp:TListItem;
begin
  if(column=0) then exit; //колонка с порядковыми номерами
  dec(column);

  Skach:=ListView.Items.Count-1;
  While Skach>0 do
  begin
    Skach:=Skach div 2;
    repeat
      St:=True;
      for m:=0 to ListView.Items.Count-1-Skach do
      begin
        n:=m+Skach;
        if ( Down and (ListView.Items.Item[n].SubItems[column]<ListView.Items.Item[m].SubItems[column]) )
        or ( (not Down) and (ListView.Items.Item[n].SubItems[column]>ListView.Items.Item[m].SubItems[column]) ) then
        begin
          Tmp:=ListView.Items.Item[m];
          ListView.Items.Item[m]:=ListView.Items.Item[n];
          ListView.Items.Item[n]:=Tmp;
          St:=False;
        end;
      end;
    until St;
  end;
end;
---------
С уважением, DreamMaster
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.