Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1102089960
Шишкин Илья
2004-12-03 19:06
2004.12.26
Почта


14-1102323016
infom
2004-12-06 11:50
2004.12.26
Верите ли вы в победу ЦСКА в Париже ?


6-1097682013
Alexis
2004-10-13 19:40
2004.12.26
Проблема с RECV


14-1102400353
ocean
2004-12-07 09:19
2004.12.26
У природы нет плохой погоды


1-1102786407
Frozzen
2004-12-11 20:33
2004.12.26
Спрятать главную форму при создании?




   Наверх