Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Вниз

Сортировка в ListView 


Olgerd   (2002-03-01 20:07) [0]

Люди, у меня ListView, стиль vsReport. Есть три столбца, в них везде дата, т.е. тип TDateTime. Как мне сортировать по клику на заголовок столбца, с помощью qsort или как-нибудь по другому. Не получается ничего. Помогите, пожалуйста.



MBo   (2002-03-02 08:01) [1]

в хелпе пример же есть

function CustomDateSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
result:=0;
//еще можно проверочку на наличие или try вставить
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; stdcall;
begin
Result := CompareText(Item1.Caption,Item2.Caption);
end;

procedure TForm1.qClick(Sender: TObject);
var sr:tsearchrec;
Item: TListItem;
begin
if FindFirst("e:\*.*",faAnyFile, sr) = 0 then repeat
if (sr.Attr and faDirectory) <> sr.Attr then
begin
item:=lv1.items.add;
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;



Olgerd   (2002-03-02 17:47) [2]

Thanks




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.016 c
6-57487           ValeraVV              2001-11-16 10:41  2002.03.18  
NetMassageBufferSend не работает


1-57400           mashinist             2002-03-01 21:11  2002.03.18  
Создание разделенной по файлам программы.


3-57315           AndrewK               2002-02-19 08:35  2002.03.18  
Как заставить программу подключаться к MS SQL Server через NT-вые логины?


1-57380           РЛ                    2002-03-01 09:45  2002.03.18  
Запускаю в режиме отладки, и появляется CPU c какими-то контрольными точками, которые я не проставлял


1-57464           Nuce                  2002-03-04 02:26  2002.03.18  
PaintBox?Наболело...