Главная страница
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.055 c
6-1139769318
Prod
2006-02-12 21:35
2006.06.18
Открытые порты


15-1148455238
alles
2006-05-24 11:20
2006.06.18
Знатокам asp


3-1145942523
ttt_111
2006-04-25 09:22
2006.06.18
Как отследить изменения проделанные в колонке DBGrid


11-1128760276
Riton
2005-10-08 12:31
2006.06.18
about scrollbar with kol


15-1148553293
Kolan
2006-05-25 14:34
2006.06.18
Помогите найти чернобыль на карте.