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

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

ListView сортировки по любому столбцу [D7, XP]


piople ©   (2006-05-04 05:45:00) 

Здравствуйте, не знаете как сделать чтобы по щелчку на зоголовок любого столбца производилась сортировка именно по этому столбцу?

З.Ы. Может компонент такой уже есть?


piople   (2006-05-11 06:25:00) [1]


> Fay ©  

Ку! сам почему-то не додумался (: спасибо...


Fay   (2006-05-10 06:02:00) [2]

2 piople ©   (10.05.06 5:31) [7]
> 212.192.100.1 и 12.201.96.13 какой выше стоять будет?
А что больше : d4c06401 или 0cc9600d?
Ку?


piople   (2006-05-10 05:31:00) [3]


> Kilkennycat ©  

^_^

Просто как правильно сортировать? если IP с одного диапазона (например, 192.168.3.х) то все понятно, выделяй последнее значение и его сортируй хоть пузырьком, хоть быстрой, вообщем как душе угодно. Но как быть когда совершенно разные диапазоны? 212.192.100.1 и 12.201.96.13 какой выше стоять будет?


Kilkennycat   (2006-05-05 11:44:00) [4]


> [5] piople ©   (05.05.06 05:30)


предложите варианты, я подскажу лучший :)


piople   (2006-05-05 05:30:00) [5]

Еще вопрос, как лучше сортировать столбец в котором содержаться IP адреса?


Лшдлуттнсфе   (2006-05-04 20:56:00) [6]

Дополню: взято из ДелфиВролд, примечание: в режиме vsReport


KilkennyCat   (2006-05-04 20:54:00) [7]

© MBo  


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)


AlexWlad   (2006-05-04 19:55:00) [8]

OnColumnClick + F1 + мОзги.


AlexanderMS   (2006-05-04 18:21:00) [9]

Мне кажеться, в этом случае легче использовать компоненты для работы с базами данных. Но и с самими базами нужно уметь работать.


Наверх

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