Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

Сортировка TreeView   Найти похожие ветки 

 
wsih ©   (2006-05-29 01:04) [0]

Здравствуйте. У каждого узла дерева data указывает на Record Для каждого уровня узла свой рекорд...
Как мне их сортировать по определенным значениям из Record?
нужно сортировать отдельно Level0 по своим значениям Level1 - по своим (внутри родителя который Level0). Cтавлю
SortType:=stData;
А что хотя бы приблизительно в моем случае писать в onCompare?


 
wsih ©   (2006-05-29 01:36) [1]

ок. Разобрался:
procedure TForm1.TreeCompare(Sender: TObject; Node1, Node2: TTreeNode;
 Data: Integer; var Compare: Integer);
var
p1,p2:Pointer;
begin
p1:=Node1.Data;
p2:=Node2.Data;
if node1.Level=1 then begin
  if LayerPointer(p1).depth > LayerPointer(p2).depth then compare:=1 else compare:= -1;
end;
Label4.Caption:=Node1.Text;
Label5.Caption:=node2.Text;
end;

Следующая проблема - сравнение происходит только при создании очередного узла. Суть:  - создается узел. поле по которому происходит сортировка - по дефолту =0 -узел отправляется в самый верх ветки. Потом пользователь изменяет значение и узел отсортировывается только при следуещем добавлении узла этого же уровня. (а сего может и не быть)
А как вызывать эту сортировку при нажатии кнопки?


 
wsih ©   (2006-05-29 01:59) [2]

Ладушки. Все спят уже наверное.
Выкручиваюсь из ситуации так: при  изминении значения, по которому происходит сортировка нажимается кнопка. в обработке этой кнопки среди прочего добавил процедуру, которая создает новую запись и ветку (в это время происходит сортировка) а потом это все благополучно удаляю.
Пинайте....


 
Сергей М. ©   (2006-05-29 08:42) [3]

см. TTreeView.CustomSort()



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

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.052 c
4-1142953168
Дмитрий_177
2006-03-21 17:59
2006.06.18
Отобразить в Label текст неустановленным на компе шрифтом


1-1147240893
kblc
2006-05-10 10:01
2006.06.18
TADOConnection + Thread


15-1148727021
guest2006
2006-05-27 14:50
2006.06.18
Помогите перевести C++ на Delphi


15-1148623919
Ega23
2006-05-26 10:11
2006.06.18
С Днём рождения! 26 мая


11-1127549142
avs
2005-09-24 12:05
2006.06.18
Kol V2.12