Treeview. There is no treenode value property. VB.NET (System.Windows.Forms)
No es cierto que cuando poblamos un treeview de ASP.NET, utilizamos las propiedades Node.Text y Node.Value El text es lo que se muestra y el value es para trabajar por abajo, mas que todo para los queries es útil.
Pero resulta que el TreeView de los Controles Windows no tiene esa propiedad. Y si queremos hacer un insert a una x tabla a partir del treeview, estariamos en un conflicto.
Yo suelo utilizar la famosa property "tag". Esta propiedad recibe un objeto. Yo la trabajo así:
Public Sub proCargarArbol()
Dim idServicio As Integer = Me.lsvServicios.SelectedItem.Text
Dim objRutas As New clsTarifaServicio
Dim dtServicio2 As DataTable = objRutas.getServicio2
TreeView1.BeginUpdate()
TreeView1.Nodes.Clear()
Dim index As Integer = 0
For Each dr As DataRow In dtServicio2.Rows
Dim NewNode As New TreeNode
NewNode.Text = dr(1).ToString
NewNode.Tag = dr
Me.TreeView1.Nodes.Add(NewNode)
Dim dtRutas As DataTable = objRutas.getRutas(idServicio, dr(0))
For Each row As DataRow In dtRutas.Rows
Dim NewNodeSon As New TreeNode
NewNodeSon.Text = row(2).ToString + " - " + row(4).ToString
NewNodeSon.Tag = row
Me.TreeView1.Nodes(index).Nodes.Add(NewNodeSon)
Next
index = index + 1
Next
TreeView1.EndUpdate()
End Sub
Checkan? Al tag le estoy mandando una fila con los datos importantes de ese item que lo cargué en el árbol. Y bueno, cuando necesiten extraer esa info, solo le hacen un for each al árbol, se crean un datarow y se lo asigan el tag.
HaPPy Coding =)
No comments:
Post a Comment