Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TreeView обратиться к узлу по имени / 25 сообщений из 26, страница 1 из 2
05.02.2015, 12:34
    #38872135
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Уважаемые, подскажите, пожалуйста.
Можно ли в TreeView обратиться к узлу по имени или по Tag-у?
Спасибо.
...
Рейтинг: 0 / 0
05.02.2015, 12:35
    #38872139
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Только посредством перебора узлов.
...
Рейтинг: 0 / 0
05.02.2015, 12:37
    #38872145
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Shocker.Pro,

Понял.
...
Рейтинг: 0 / 0
05.02.2015, 12:52
    #38872175
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Еще вопрос.
А как проверить что узел является корневым, а не дочерним?
...
Рейтинг: 0 / 0
05.02.2015, 12:55
    #38872183
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
проверить свойство Parent
...
Рейтинг: 0 / 0
05.02.2015, 12:58
    #38872192
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
тип tvwroot у него должен быть
...
Рейтинг: 0 / 0
05.02.2015, 12:59
    #38872194
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Konst_Oneтип tvwroot у него должен бытькорневой узел может быть не один, это тебе не XML
...
Рейтинг: 0 / 0
05.02.2015, 13:11
    #38872216
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Shocker.Pro,

Код: vbnet
1.
2.
3.
For i = 1 To tvFP.Nodes.Count
        Debug.Print tvFP.Nodes.Item(i).Parent
Next


Как проверить свойство Parent?
Ругается
...
Рейтинг: 0 / 0
05.02.2015, 13:19
    #38872233
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Код: vbnet
1.
Debug.Print tvFP.Nodes.Item(i).Parent Is Nothing
...
Рейтинг: 0 / 0
05.02.2015, 13:26
    #38872249
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Shocker.ProKonst_Oneтип tvwroot у него должен бытькорневой узел может быть не один, это тебе не XML

это зависит от вида отображаемого дерева. обычный вид с одним главным узлом
...
Рейтинг: 0 / 0
05.02.2015, 13:53
    #38872284
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Зачем это для прайс-листа, например, или для списка сотрудников по отделам?

У меня, например, в 90% отсутствует корневой узел.

Опять же, если он является константой, надо вынести его в метку дерева и не тратить лишнее место и клики на содержание константного узла.
...
Рейтинг: 0 / 0
05.02.2015, 14:00
    #38872291
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
у всех свои причины, у меня наоборот частенько были с главным уровнем
...
Рейтинг: 0 / 0
05.02.2015, 15:06
    #38872416
guest123456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Имён, насколько помню, у нодов нету, зато есть key, по которому к ним можно обращаться.
Код: vbnet
1.
2.
TreeView.Nodes.Add key:="middle", text:= "middle node..."
Set MiddleNode = TreeView.Nodes("middle")
...
Рейтинг: 0 / 0
26.06.2015, 13:25
    #38993602
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
И снова здравствуйте.
Еще вопрос по дереву.
Как прочитать все узлы в дереве до последнего child не зная глубины вложенности?
Рекурсия что ли?
Подскажите пожалуйста как малой кровью это сделать.
Спасибо.
...
Рейтинг: 0 / 0
26.06.2015, 13:35
    #38993616
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Коллекция Nodes - плоская, можно без рекурсии
...
Рейтинг: 0 / 0
26.06.2015, 13:46
    #38993633
hclubmk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Код: vbnet
1.
For Each node In TV.Nodes
...
Рейтинг: 0 / 0
26.06.2015, 14:02
    #38993653
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
hclubmk
Код: vbnet
1.
For Each node In TV.Nodes


так получаю ноды первого уровня, а вложенные как получить? уровень вложенности не известен
проверять каждый узел на наличие детей->детей на наличие детей->детей на наличие детей.........
как узнать то последнего дитя?
...
Рейтинг: 0 / 0
26.06.2015, 14:07
    #38993663
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
TreeViewNodeтак получаю ноды первого уровнянет, так получаешь ноды любого уровня. Если задача "перебрать все узлы", она решается. Если задача какая-то другая - потрудись сформулировать.
...
Рейтинг: 0 / 0
26.06.2015, 14:25
    #38993704
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Shocker.Pro,
Попробую объяснить
Надо узнать что у узла ROOT последний потомок = Крайний деть.
И например узнать что у узла nod # 10 есть 20 детей.
...
Рейтинг: 0 / 0
26.06.2015, 14:40
    #38993734
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
TreeViewNodeНадо узнать что у узла ROOT последний потомок = Крайний деть.что такое "последний"? потомок с максимальным уровнем вложенности? их может быть несколько, причем по разным путямTreeViewNodeИ например узнать что у узла nod # 10 есть 20 детей.формально у него только один ребенок, остальные внуки и правнуки ))

Обе задачи - да, решаются реркурсивным просмотром.
...
Рейтинг: 0 / 0
26.06.2015, 14:42
    #38993737
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Как мне узнать что у узла ROOT есть child nod # 10 у которого есть свои child у которого есть свои child у которых.....
...
Рейтинг: 0 / 0
26.06.2015, 14:44
    #38993740
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
TreeViewNodeКакВам нужно объяснить теорию рекурсии или написать за вас программу?
...
Рейтинг: 0 / 0
26.06.2015, 14:45
    #38993744
TreeViewNode
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
Shocker.Pro,

Ладно, сейчас попробую разобраться.
Понаплодил и запутался в детях этих я)
...
Рейтинг: 0 / 0
26.06.2015, 15:49
    #38993864
hclubmk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
...
Рейтинг: 0 / 0
26.06.2015, 15:52
    #38993865
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView обратиться к узлу по имени
hclubmk грабли не нашел граблей. Понятно, что для определения глубины вложения конкретной одной ноды можно обойтись без рекурсии, но у ТС другие задачи.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TreeView обратиться к узлу по имени / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]