Ver Mensaje Individual
  #18 (permalink)  
Antiguo 17/11/2009, 17:03
Avatar de eperedo
eperedo
 
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Perdida de dato en TextBox

Pues no logró comprender exactamente en donde es que se repite, lo que te recomendaría es que hagas 2 consultas a la BD, una para llenar los nodos padre y luego para sus hijos

Podría ser así:
Código vb.net:
Ver original
  1. Private Sub cargarNodos()
  2.         Using cn As New SqlConnection("Server=.;database=pruebas;integrated security=true")
  3.             'Consulta para nodos hijos
  4.             Using cmd As New SqlCommand("select m.nombre, f.nombre from formulario as f join menu as m on f.idmenu = m.idmenu", cn)
  5.                 Using da As New SqlDataAdapter(cmd)
  6.                     Dim ds As New DataSet
  7.                     'Crear datatable con los registros para los nodos hijo
  8.                     da.Fill(ds, "hijo")
  9.                     'Consulta nodos padres
  10.                     cmd.CommandText = "select nombre from menu"
  11.                     'Crear datatable con los registros para los nodos padre
  12.                     da.Fill(ds, "padre")
  13.                     'Bucle para llenar nodos padre
  14.                     For Each dr As DataRow In ds.Tables("padre").Rows
  15.                         Me.TreeView1.Nodes.Add(dr(0).ToString(), dr(0).ToString())
  16.                     Next
  17.                     'Bucle para llenar nodos hijo
  18.                     For Each dr As DataRow In ds.Tables("hijo").Rows
  19.                         Me.TreeView1.Nodes(dr(0).ToString()).Nodes.Add(dr(1).ToString())
  20.                     Next
  21.                 End Using
  22.             End Using
  23.         End Using
  24.     End Sub

Suponiendo que tengas 2 tablas, una llamada menu con los campos id y nombre mientras que la otra formulario con sus campos idform, nombre, idmenu.

Como ves primero hago una consulta en la que tengo los nodos hijos y luego una para los padres. El for each para los nodos padre lo agrego con su nombre y un key para luego poder determinar que nodo hijo le corresponde.

Espero no haberte confundido mucho XD
__________________
Eduardo Peredo
Wigoin