Главная страница
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.041 c
1-1102483981
antonn
2004-12-08 08:33
2004.12.26
Форма поверх всех других окон


14-1102063553
MrCorp1
2004-12-03 11:45
2004.12.26
.Net


4-1100073222
Lika
2004-11-10 10:53
2004.12.26
Com-порт


3-1101215098
and
2004-11-23 16:04
2004.12.26
Summary Footer в dxDBGrid и его работа с дробными числами


14-1102368965
GanibalLector
2004-12-07 00:36
2004.12.26
UML