Visual Basic.NET - TreeView y FullPath

 
Vista:

TreeView y FullPath

Publicado por Temisto (1 intervención) el 13/01/2018 22:29:05
Alguien conoce la forma de crear un TreeView conociendo previamente el FullPath de cada Nodo ?
Es decir, conociendo previamente el FullPath de cada uno de los Nodos, se trata de construir jerárquicamente los Nodos del TreeView.
Esto no es posible desde el propio control, porque la propiedad FullPath es de sólo lectura.
No sé como resolver el problema. Si alguien puede aportar ideas, se agradecen.
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
sin imagen de perfil
Val: 16
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

TreeView y FullPath

Publicado por Nicolas (7 intervenciones) el 16/01/2018 02:34:25
Hola Temisto.
Te paso un código que diseño para mostrar una tabla de Familias o Categorias de Articulos.
Muestra algo asi por ej:
1 - Repuestos
1.1 - Tornillos
1.2 - Amortiguadores
1.2.1 - Amortiguador Moto
1.2.2 - Amortiguador Auto
2 - Herramientas
2.1 - Electricas
2.1.1 - Madera
2.1.2 - Hierro
2.1.3 - Otros
2.2 - Manuales

Este es el código, espero sea de ayuda:

Sub llenarTreeview()
Me.trvCategorias.Nodes.Clear()
Dim tabla As DataTable = Factura.DevolverCategoria()
Try
With trvCategorias
Dim tvn As New TreeNode
Dim j As Int16
For i As Integer = 0 To tabla.Rows.Count - 1
Dim intPunto As Int16 = 0
For t As Int16 = 0 To tabla.Rows(i).Item(0).ToString.Length - 1
If tabla.Rows(i).Item(0).ToString.Chars(t).ToString = "." Then
intPunto += 1
End If
Next
If tabla.Rows(i).Item(2).ToString = "S" And intPunto = 0 Then
Dim skNodo As String = tabla.Rows(i).Item(0).ToString
tvn = .Nodes.Add(skNodo, skNodo & " - " & tabla.Rows(i).Item(1).ToString, 0)

Else
j = 0
j = i
Do While j > 0
Dim var As Boolean = tabla.Rows(i).Item(0).ToString.Contains(tabla.Rows(j - 1).Item(0).ToString)
If var = True Then
Dim skHijo As String = tabla.Rows(i).Item(0).ToString
Dim ret As TreeNode() = .Nodes.Find(tabla.Rows(j - 1).Item(0).ToString, True)
If tabla.Rows(i).Item(2).ToString = "S" Then
ret.First.Nodes.Add(skHijo, skHijo & " - " & tabla.Rows(i).Item(1).ToString, 0)
Else
ret.First.Nodes.Add(skHijo, skHijo & " - " & tabla.Rows(i).Item(1).ToString, 1)
End If
Exit Do
End If
j -= 1
Loop
End If
Next
End With
Catch ex As Exception
MsgBox(ex.Message)
End Try

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