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