powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TreeView обратиться к узлу по имени
26 сообщений из 26, показаны все 2 страниц
TreeView обратиться к узлу по имени
    #38872135
TreeViewNode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые, подскажите, пожалуйста.
Можно ли в TreeView обратиться к узлу по имени или по Tag-у?
Спасибо.
...
Рейтинг: 0 / 0
TreeView обратиться к узлу по имени
    #38872139
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только посредством перебора узлов.
...
Рейтинг: 0 / 0
TreeView обратиться к узлу по имени
    #38872145
TreeViewNode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

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

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


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

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

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

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


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

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

Ладно, сейчас попробую разобраться.
Понаплодил и запутался в детях этих я)
...
Рейтинг: 0 / 0
TreeView обратиться к узлу по имени
    #38993864
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
TreeView обратиться к узлу по имени
    #38993865
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hclubmk грабли не нашел граблей. Понятно, что для определения глубины вложения конкретной одной ноды можно обойтись без рекурсии, но у ТС другие задачи.
...
Рейтинг: 0 / 0
TreeView обратиться к узлу по имени
    #38993939
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro грабли - в смысле того, что ТС не первый наступает.
В плане решаемых задач - тот-же For Each + нерекурентное определение глубины вложения.
Хотя, у каждого своё ИМХО ;)
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TreeView обратиться к узлу по имени
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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