Главная страница
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.028 c
2-1149241522
Elen
2006-06-02 13:45
2006.06.18
Исчезает новосозданный компонент


1-1147212202
Германн
2006-05-10 02:03
2006.06.18
TListView


2-1149059536
Perf2k2
2006-05-31 11:12
2006.06.18
Необходимо как-то хранить глобальную переменную с ее значением


2-1149279433
chai
2006-06-03 00:17
2006.06.18
Что за символы на конце строки и откуда берутся?


1-1147330802
bva
2006-05-11 11:00
2006.06.18
MSWord в Delphi