Как обращаться к любому ноду в Treeview

Тема в разделе "Visual Basic", создана пользователем Andrew1981, 12 мар 2009.

  1. Andrew1981

    Andrew1981 Гость

    У меня есть многоуровневое TreeView с множеством узлов и нодов
    1)Как обратиться к конкретному узлу
    2)Как обратиться к конкретному потомку в этом узле.
    3)Как подсчитать количество детей у конкретного родителя.

    При помощи TreeView.Nodes.Count получаю только количество корневых нодов.При помощи
    TreeView.При помощи Nodes.Child.Child и так далее Child и Nodes.Child.Child
    и так далее Child Child.Next могу обращаться только к первому и второму потомку.А мне надо
    к любому.Расскажите, пожалуйста, как надо.
     
  2. Tanya

    Tanya Гость

    Что значит любой? Наверное ты все же заешь о каком ноде тебе нужна информация

    При заполнении дерева для каждого нода указывай уникальный ключ
    и тогда можешь кнему обращаться напрямую

    Код (Text):
    With Me.TreeView1
    .Nodes.Add Key:="ID1", Text:="1"
    .Nodes.Add Key:="ID2", Text:="2"
    .Nodes.Add Key:="ID3", Text:="3"
    .Nodes.Add "ID2", tvwChild, "ID2_1", "2.1"
    .Nodes.Add "ID2", tvwChild, "ID2_2", "2.2"

    .Nodes("ID2").Selected = True
    .Nodes("ID3").Bold = True

    .Nodes("ID2").Text = "2 (Childs = " & .Nodes("ID2").Children & ")"
    End With
     
  3. Andrew1981

    Andrew1981 Гость

    Дело в том, что нодов ОЧЕНЬ много.И уровней у дерево тоже очень много.И мне надо в цикле просмотреть все.Если я буду каждому сопоставлять ключи, то я в них утону.
     
  4. Tanya

    Tanya Гость

    Так нужно к конкретному узлу или ко всем обращаться? Что-то непонятно ...
    Можно ли как-то поподробнее описать или это большая тайна ? ;-)
     
  5. Andrew1981

    Andrew1981 Гость

    Я уже разобрался, спасибо.Set CurrentNode=Node.Child Set CurrentNode=CurrentNode.Next и так далее.
    Нужно было обойти все дерево, но посредством обращения к каждому узлу зная чей он предок и чей потомок.
     
Загрузка...

Поделиться этой страницей