Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка списка [D6, WinME, WinXP]


Борис А.В. ©   (2002-05-27 08:29:00) 

Мастера, есть ли компонент TListView (можно примитивный), с сортировкой, учитывая несколько столбцов сразу, т.е. в столбце с сортировкой есть два одинаковых значения, тогда сортировка передаётся следующему столбцу для этих двух значений, и т.д.?


Борис А.В.   (2002-05-27 14:57:00) [1]

Огромное спасибо!!!


MBo   (2002-05-27 08:56:00) [2]

LV1 - ListView

function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
Result := CompareText(Item1.Caption,Item2.Caption);
if Result=0 then
Result:=CompareText(Item1.SubItems[0],Item2.SubItems[0]);
end;

procedure TForm1.GetFilesClick(Sender: TObject);
var sr:tsearchrec;
Item: TListItem;
s:string;
begin
if FindFirst("e:\*.*",faAnyFile, sr) = 0 then repeat
if (sr.Attr and faDirectory) <> sr.Attr then
begin
item:=lv1.items.add;
s:=sr.name;
item.Caption:=Copy(s,1,pos(".",s)-1);
Item.SubItems.Add(Copy(s,pos(".",s)+1,length(s)));
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
LV1.CustomSort(@CustomSortProc, 0)
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо