vb.net - древовидная структура не показывает правильный выбранный элемент - PullRequest
0 голосов
/ 30 августа 2011

У меня проблема с программным выбором элемента в виде дерева.

У меня есть функция, которая создает древовидное представление с узлами и подузлами, и когда я устанавливаю treeview.selecteditem = somenode, древовидное представление показывает, как выбранный другой подузел другого узла (иногда правильный узел, он кажется случайным? )

Функция выглядит так:

                F.treGrupos.Nodes.Clear()

            'build the first level nodes
            For Each g In m_ModeloGruposSeleccionado.Grupos
                n = F.treGrupos.Nodes.Add("g" & g.Value.s_IdGrupo.ToString, g.Value.s_IdGrupo.ToString)
            Next

            'add the subnodes where they belong
            For Each Item In m_ConsultaSeleccionada.Indice
                If F.treGrupos.Nodes.ContainsKey("g" & Item.Value.IdGrupo) Then
                    n = F.treGrupos.Nodes("g" & Item.Value.IdGrupo)                       
                    n.Nodes.Add("g" & Item.Key.ToString, Item.Value.ItemNodo)                       
                End If
            Next

            'just testing
            F.treGrupos.Refresh()
            F.treGrupos.CollapseAll()
            F.treGrupos.SelectedNode = Nothing


            'm_GrupoSeleccionado has the node i want to select
            If m_GrupoSeleccionado > 0 Then
                n1 = F.treGrupos.Nodes("g" & m_GrupoSeleccionado.ToString)

                Debug.Print(n1.Name) 'ok here

                If Not n1 Is Nothing Then
                    F.treGrupos.SelectedNode = n1
                    n1.ExpandAll()
                End If
                Debug.Print(F.treGrupos.SelectedNode.Name) 'ok here too!!??

            End If

Кажется, что debug.print печатает правильный узел. Если m_GrupoSeleccionado = 3, он печатает «g3», узел, который существует. Но древовидная структура показывает выбранный (синий фон) любой случайный подузел; даже не узел !, из g1 или g4. Кажется, это происходит с любым значением m_GrupoSeleccionado.

Есть идеи?

Привет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...