Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

еще раз о 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.031 c
10-1074607237
morfey-night
2004-01-20 17:00
2004.12.26
динамическое создание TDataModule


11-1082955456
Viman
2004-04-26 08:57
2004.12.26
bug в Thread


14-1102335915
by
2004-12-06 15:25
2004.12.26
Соединяющие запросы в .Net и Delphi


1-1102688247
Frozzen
2004-12-10 17:17
2004.12.26
dfm файлы...


1-1101943402
Dmitry_04
2004-12-02 02:23
2004.12.26
Свойства файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский