Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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



Страницы: 1 вся ветка

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

Наверх





Память: 0.44 MB
Время: 0.007 c
1-57342
Канадин Владимир
2002-02-28 12:09
2002.03.18
Достать подменю


1-57368
Геральт
2002-03-04 20:55
2002.03.18
Существует ли папка?


1-57362
Анонимщик
2002-03-01 19:01
2002.03.18
Два THintWindow


3-57304
Стас
2002-02-19 11:42
2002.03.18
Btrieve+Delphi


1-57441
ЕвгенийА
2002-03-01 00:00
2002.03.18
Дистрибутив





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский