none
¿Como puedo agregar nodos hijos y nietos a un control Treeview en Visual Basic.Net?

    Pregunta

  • Hola bien dìa.

    Estoy intentando cargar datos de una tabla de access a un control Treeview en mi proyecto. He logrado agregrar los nodos raiz e hijos, pero no logro que se agregen los nietos, bisnietos, etc.

    Asì esta estructurada mi tabla:

    Ejemplo:

    Nodo - Descripcion - Padre

    C001 - Raiz 1 - P
    C001.1 - Hijo 1 - C001
    C001.2 - Hijo 2 - C001
    C001.3 - Hijo 3 - C001
    C001.3.1 - Nieto 1 - C001.3
    C001.3.2 - Nieto 2 - C001.3
    C001.3.2.1 - Bisnieto 1 - C001.3.2
    C001.3.2.2 - Bisnieto 2 - C001.3.2

    Este es el còdigo que estoy utilizando:

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim Padre As String
    Dim Descripcion As String
    Dim Nodo As String

    Dim Conexion As ADODB.Connection
    Dim Nodos As ADODB.Recordset
    Dim CNodos As String

    Conexion = New ADODB.Connection
    Nodos = New ADODB.Recordset
    CNodos = "SELECT Nodo,Descripcion,Padre from Indice"
    Conexion.Open("Provider=Microsoft.Jet.OLEDB.4.0;Da ta Source=C:\Arbol.mdb;Persist Security Info=False")
    Nodos.Open(CNodos, Conexion)

    ObjArbol.Nodes.Clear()
    Nodos.MoveFirst()

    Do While Not Nodos.EOF

    Padre = Nodos.Fields("Padre").Value
    Descripcion = Nodos.Fields("Descripcion").Value
    Nodo = Nodos.Fields("Nodo").Value

    If Padre = "P" Then

    ObjArbol.Nodes.Add(Nodo, Descripcion)

    Else

    If ObjArbol.Nodes.ContainsKey(Padre) Then

    ObjArbol.Nodes(Padre).Nodes.Add(Nodo, Descripcion)

    End If

    End If

    Nodos.MoveNext()

    Loop

    End Sub

    Estoy haciendolo en Visual Studio 2008 (VB.Net), ojala puedan ayudarme.

    Un abrazo.
    • Cambiado Enrique M. MontejoMVP lunes, 16 de febrero de 2015 9:53 Pregunta relacionada con controles de Windows Forms.
    jueves, 29 de septiembre de 2011 4:10

Todas las respuestas