elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Treeview VB.net
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Treeview VB.net  (Leído 2,512 veces)
tazrebelraider

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Treeview VB.net
« en: 28 Febrero 2012, 05:53 am »

buenas dias a todos, compañeros foreros.
my duda es la siguiente: Tengo una tabla con los siguientes datos
nomcue,codcue los cuales deseo mostrar en un control treeview los datos son de esta forma
1 cuenta 1
11 hijo cuenta 1
1105 hijo de hijo cuenta 1
110505 hijo de hijo de hijo cuenta 1
11050505 este seria el ultimo nivel
1
--11
-----1105
--------110505
-----------11050505
normalmente trabajo directamente con codigo si usar dataset para filtrar siempre la información que recupero de la base de datos. bueno el problema es que cuando llego al nivel 4 me arroja un error de index

les anoto el codigo es un poco largo pero en resumidas necesito resumirlo y buscar la mejor forma de que muestre los datos

Private Sub FrmPUC_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sql As String
        Dim nodo As TreeNode
        Dim consulta, consu, consul, consult As ADODB.Recordset
        Open_cn()
        'nivel 1
        sql = "Select codcue,nomcue,nivcue from con_cuentas where nivcue = 1 order by codcue ASC"
        consulta = cn.Execute(sql)
        If Not consulta.EOF Then
            nodescuentas.BeginUpdate()
            nodo = nodescuentas.Nodes.Add("Plan Unico de Cuentas")
            While Not consulta.EOF
                Dim nom1 As String = consulta.Fields("nomcue").Value
                Dim val1 As String = consulta.Fields("codcue").Value & " - " & QuitaEspaciosDobles(nom1)
                nodo.Nodes.Add(val1)
                Dim nodhijo As String
                Dim nopadre As String = consulta("codcue").Value
                nopadre = QuitaEspaciosDobles(nopadre)
                'nivel 2
                nodhijo = "Select codcue,nomcue from con_cuentas where nivcue=2 and codcue like '" & nopadre & "%'"
                consu = cn.Execute(nodhijo)
                While Not consu.EOF
                    Dim nombre As String = consu("codcue").Value
                    nombre = QuitaEspaciosDobles(nombre)
                    Dim compara As String = nombre.Substring(0, 1)
                    If compara = nopadre Then
                        Dim nom2 As String = consu.Fields("nomcue").Value
                        Dim val2 As String = consu.Fields("codcue").Value & " - " & QuitaEspaciosDobles(nom2)
                        nodo.Nodes(nodo.Nodes.Count - 1).Nodes.Add(val2)
                        Dim consunieto As String = "Select codcue,nomcue from con_cuentas where nivcue=3 and codcue like '" & nombre & "%'"
                        consul = cn.Execute(consunieto)
                        If Not consul.EOF Then
                            'nivel 3
                            While Not consul.EOF
                                Dim nodnieto As String = consul.Fields("codcue").Value
                                nodnieto = QuitaEspaciosDobles(nodnieto)
                                Dim nom3 As String = consul.Fields("nomcue").Value
                                Dim val3 As String = consul.Fields("codcue").Value & " - " & QuitaEspaciosDobles(nom3)
                                nodo.Nodes(nodo.Nodes.Count - 1).Nodes(nodo.Nodes(nodo.Nodes.Count - 1).Nodes.Count - 1).Nodes.Add(val3)
                                'nivel 4
                                Dim consunieto2 As String = "Select codcue,nomcue from con_cuentas where nivcue=4 and codcue like '" & nodnieto & "%'"
                                consult = cn.Execute(consunieto2)
                                If Not consult.EOF Then
                                    While Not consult.EOF
                                        Dim nom4 As String = consult.Fields("nomcue").Value
                                        Dim val4 As String = consult.Fields("codcue").Value & " - " & QuitaEspaciosDobles(nom4)
                                        Dim nomneto As String = consult.Fields("codcue").Value
                                        nodo.Nodes(nodo.Nodes.Count - 1).Nodes(nodo.Nodes(nodo.Nodes.Count - 1).Nodes.Count - 1).Nodes(nodo.Nodes(nodo.Nodes.Count - 1).Nodes.Count - 1).Nodes.Add(val4)
                                        consult.MoveNext()
                                    End While
                                End If
                                consul.MoveNext()
                            End While
                        End If
                    End If
                    consu.MoveNext()
                End While
                consulta.MoveNext()
            End While
            nodescuentas.EndUpdate()
        End If
    End Sub

espero e puedan colaborar para resumir el codigo y pasar hata el nivel 5

gracias.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Treeview
Programación Visual Basic
TheGhost(Z) 2 1,312 Último mensaje 20 Abril 2006, 11:55 am
por TheGhost(Z)
treeview
.NET (C#, VB.NET, ASP)
ivancho 2 3,627 Último mensaje 3 Octubre 2008, 02:14 am
por KJD
Recursion para poblar un treeview
Programación Visual Basic
79137913 2 2,084 Último mensaje 15 Mayo 2014, 04:37 am
por Cj2009z
treeview.index
.NET (C#, VB.NET, ASP)
luismercedesrd 1 1,195 Último mensaje 10 Junio 2016, 03:03 am
por AlbertoBSD
Seleccionar Nodo de Treeview « 1 2 »
Programación Visual Basic
jack06 10 4,105 Último mensaje 8 Mayo 2017, 21:11 pm
por jack06
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines