Visual Basic.NET - Treeview desde cero (sencillo y corto creo)

 
Vista:

Treeview desde cero (sencillo y corto creo)

Publicado por treeLio (1 intervención) el 11/12/2007 02:20:32
Hola a todos, estoy empezando con el control treeview de vb.net y me trae de cabeza, y eso
que en vb6 lo dominaba sin problema siendo teoricamente mas complicado.

En modo diseño no tengo problemas, pero con el codigo me vuelvo loco. Para hacer un arbol
con, por ejemplo, un nodo con tres hijos, un codigo que me funciona es el siguiente:

tree.Nodes.Add("Raiz")
tree.Nodes(0).Nodes.Add("Hijo 1")
tree.Nodes(0).Nodes(0).Nodes.Add("Hijo 2")
tree.Nodes(0).Nodes(0).Nodes(0).Nodes.Add("Hijo 3")

pero ¿si no conozco de antemano el numero de hijos ¿Como "alargo" la linea con
"Nodes(0)"?

por ejemplo, en codigo con un bucle asi:

tree.nodes.add("Raiz")

for i=0 to 5
tree...
next

¿como hago para que cero sea hijo de "Raiz", uno hijo de cero, dos hijo de uno, tres hijo
de dos y asi sucecisvamente (y suponiendo que el for no fuese hasta 5, sino hasta una variable 'n'
de valor desconocido)?

Muchas gracias por vuestro tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Treeview desde cero (sencillo y corto creo)

Publicado por bERNARDINO (1 intervención) el 11/01/2008 20:55:08
CHUZO MAN ESA VAINA A BIEN INTERESANTE.... ME ACABAS DE AYUDAR A SOLUCIONAR UNA INCOGNITA, PERO AHORA TO EN LAS MISMA S Q TU JEJEJE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Treeview desde cero (sencillo y corto creo)

Publicado por ni  (1 intervención) el 09/06/2009 10:04:25
ni zorra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Treeview desde cero (sencillo y corto creo)

Publicado por Khristian (14 intervenciones) el 07/07/2009 05:30:12
Usa el nodo anterior, como parametro del nodo siguiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Treeview desde cero (sencillo y corto creo)

Publicado por Toneti (1 intervención) el 15/12/2011 19:32:09
Un poco tarde creo, pero en VB.net 2010 lo he hecho así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub CargarArbol()
        Dim i, c, j As Integer
        Dim x As String = ""
        For i = 0 To 10
            x = Str(i)
            TreeView1.Nodes.Add(x)
            For c = 0 To 5
                x = Str(i) & Str(c)
                TreeView1.Nodes(i).Nodes.Add(x)
                For j = 0 To 3
                    x = Str(i) & Str(c) & Str(j)
                    TreeView1.Nodes(i).Nodes(c).Nodes.Add(x)
                Next
            Next
        Next
    End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Treeview desde cero (sencillo y corto creo)

Publicado por Diego (1 intervención) el 20/12/2011 04:58:06
Toneti,

Anduvo muy bien tu codigo, me sirvió. ahora, yo necesito no solo un menú de Treeview, si no que hacia la derecha despliegue también columnas con información.

Ej.

Funcionario Ventas Presupuesto Cumplimiento

- Jefe 1 110 100 110%
+ Ejecutivo 1 30 30 100%
+ Ejecutivo 2 60 50 120%
+ Ejecutivo 3 20 20 100%
+Jefe 2 200 200 100%
+Jefe3 300 200 150%


No se si me explico con el ejemplo. Necesito que despliegue los jefes como menú, con la información de ventas y presupuesto hacia el costado. Pero que se pueda "abrir" el jefe entre sus ejecutivos y desplegar la misma info (entre todos los ejecutivos suman el total de cada jefe) y adicionalmente por cada ejecutivo sus clientes.

Crees que esto es posible? que me sugieres? me manejo con Visual Studio .net 2010 y Access 2010. Podría ser SQL Server también.

Desde ya muchísimas gracias! me salvarían la vida, estoy super complicado y urgido con esto.

Abrazo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Treeview desde cero (sencillo y corto creo)

Publicado por Franco Antonio (3 intervenciones) el 28/12/2012 04:30:24
Parece que no hemos entendido... Mira mi post..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Treeview desde cero (sencillo y corto creo)

Publicado por Franco Antonio (3 intervenciones) el 28/12/2012 04:25:27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Public Class Form3
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim root As New TreeNode("0")
        AddNodo(root, False)
        TreeView1.Nodes.Add(root)
    End Sub
 
    Public Sub AddNodo(ByRef NodoPadre As TreeNode, ByVal EsHoja As Boolean)
 
        If EsHoja = False Then
 
            NodoPadre.Nodes.Add(CStr(NodoPadre.Level + 1))
            NodoPadre.Nodes.Add(CStr(NodoPadre.Level + 2))
            NodoPadre.Nodes.Add(CStr(NodoPadre.Level + 3))
 
            '... Cuantos nodos quieras (Podria ser un ciclo)
 
            For Each nodo In NodoPadre.Nodes
                If NodoPadre.Level = 5 Then 'Condicion de termino recursivo
                    AddNodo(nodo, True)  'Instruccion para terminar recursividad
                Else
                    AddNodo(nodo, False) 'Continua recursivamente
                End If
            Next
 
        Else
 
            NodoPadre.Nodes.Add(CStr(NodoPadre.Level + 1))
            NodoPadre.Nodes.Add(CStr(NodoPadre.Level + 2))
            NodoPadre.Nodes.Add(CStr(NodoPadre.Level + 3))
 
            'Ultimos Nodos
 
        End If
 
    End Sub
End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Treeview desde cero (sencillo y corto creo)

Publicado por Franco Antonio (3 intervenciones) el 28/12/2012 04:28:44
En la condicion de termino de recursividad el 5 indica que habran 5+1=6 niveles en el arbol (contando desde 0).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar