Показать сообщение отдельно
  #1  
Старый 29.04.2007, 12:31
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию Listview сортировка

Привет всем помогите реализовать сортировку в LV в режиме Report по клику на заголовке колонки.
Погуглил и нашел такой код -

Код:
function CustomDateSortProc(Item1, Item2: TListItem; ParamSort: integer):
  integer; stdcall;
begin
  result := 0;
  if strtodatetime(item1.SubItems[0]) > strtodatetime(item2.SubItems[0]) then
    Result := 1
  else if strtodatetime(item1.SubItems[0]) < strtodatetime(item2.SubItems[0])
    then
    Result := -1;
end;

function CustomNameSortProc(Item1, Item2: TListItem; ParamSort: integer): integer
  item.Caption := sr.name;
  Item.SubItems.Add(datetimetostr(filedatetodatetime(sr.time)));
end;
until FindNext(sr) < > 0;
FindClose(sr);
end;

procedure TForm1.lv1ColumnClick(Sender: TObject; Column: TListColumn);
begin
  if column = lv1.columns[0] then
    LV1.CustomSort(@CustomNameSortProc, 0)
  else
    LV1.CustomSort(@CustomDateSortProc, 0)
end;
Используя этот код все сортируется только по 1ой колонке , а хотелось бы по той , на которую кликнули.
Ответить с цитированием