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

Вниз

еще раз о treeview   Найти похожие ветки 

 
malamba   (2004-12-14 10:50) [0]

Согласен, что Treeview не следует заполнять сразу - только верхний уровень, а ветки подгружать только по мере обращения к ним.

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

Может есть какие-нибудь определенные алгоритмы такого динамического добавления или через гланды: загружать верхнюю ветвь, затем ей подчиненные и так до самого низа, пока не загрузим и не выделим нужную?


 
Семен Сорокин ©   (2004-12-14 11:16) [1]

рекурсия должна помочь :)


 
malamba   (2004-12-14 11:29) [2]

Должна бы.
Но если дочерние элементы еще не подгружены?


 
DiamondShark ©   (2004-12-14 12:44) [3]

А в чём проблемы?
Раскрываем ветки, начиная с верхней, а обработчик OnExpanding прекрасно добавляет новые элементы.


 
malamba   (2004-12-15 10:02) [4]

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

Я надеялся, что может есть какие-нибудь формализованные правила по такой ситуации


 
User1   (2004-12-15 10:33) [5]

Есть правила. Раз ты говоришь что грузишь из базы данных, то наверняка, ты в базе данных можешь узнать полный путь до етого елемента! Узнай полный путь, а в TreeView начинай програмно от корня двигаться в сторону конечного елемента.


 
malamba   (2004-12-15 11:14) [6]

У меня в базе три или четыре таблицы связаны иерарархическими связями, кроме того, создаются две временные сборные таблицы, из которых и берутся данные для заполнения TreeView.

Для поиска и вычленения полной связи нужно знать сразу несколько разных значений - мне кажется сама процедура усложняется настолько, что нет смысла ее использовать.



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
1-1102498183
Dolphin001
2004-12-08 12:29
2004.12.26
WebBrowser charset


1-1102948189
Muhan
2004-12-13 17:29
2004.12.26
Мастера StrinGrid помогите плиз :)


1-1102777296
VasRog
2004-12-11 18:01
2004.12.26
Ссылки


3-1101392577
kaktus
2004-11-25 17:22
2004.12.26
Delphi и MySQL


3-1101157374
serko
2004-11-23 00:02
2004.12.26
Печать DbEhlib