RE:treeview en visual basic .net
Debes traerte los datos via un DataTable o un DataSet. Lo mejor es traerte los datos dlepadre y del hijo via un Left joint del padre al hijo.
Luego puedes usar un codigo como :
Dim strCodigoPadre As String
Dim strNombrePadre As String
Dim strCodigoHijo As String
Dim strNombreHijo As String
Dim tnodoPadre As TreeNode
Dim tnodoHijo As TreeNode
TreeView1.Nodes.Clear()
For iFila = 0 To dtab.Rows.Count
'-----------------------------------------------------------
' Agrega Nodo padre
'-----------------------------------------------------------
strCodigoPadre = dtab.Rows( iFila, 0 ).ToString().Trim()
strNombrePadre = dtab.Rows( iFila, 1 ).ToString().Trim()
tnodoPadre = new TreeNode( strCodigoPadre & " " & strNombrePadre)
TreeView1.Nodes.Add( tnodoPadre )
'-----------------------------------------------------------
' Agrega Nodos hijos
'-----------------------------------------------------------
Do While (( iFila < dtab.Rows.Count) And
( dtab.Rows( iFila,0 ].ToString() = strCodigoPadre ))
strCodigoHijo = dtab.Rows( iFila,2 ).ToString().Trim()
strNombreHijo = dtab.Rows( iFila,3 ).ToString().Trim()
If ( strCodigoHijo.Length > 0 ) Then
tnodoHijo = new TreeNode( strCodigoHijo & " " & strNombreHijo )
tnodoPadre.Nodes.Add( tnodoItem )
End If
Loop
Next iFila
dtab.Dispose()