Hola.
Tengo un treeview con la propiedad CheckBoxes activada. En ella cargo las bases de datos(nodos padres) y las tablas(nodos hijos). Quiero que cuando la casilla de un nodo padre esté seleccionada, se marquen todos los hijos que tengan. Y si se selecciona un hijo, que se marque la casilla del nodo padre.
Con los siguientes códigos colocados en el evento AfterCheck del treeview puedo lograr que se desencadene el evento deseado:
Para seleccionar todos los nodos:
If Not e.Node.Parent Is Nothing Then
For Each oNodo In e.Node.Nodes
oNodo.Checked = e.Node.Checked
Next
End If
Para seleccionar el nodo padre cuando se selecciona el hijo:
If Not e.Node.Parent Is Nothing Then
If e.Node.Checked Then
e.Node.Parent.Checked = True
Else
For Each Nodo In e.Node.Parent.Nodes
If Nodo.Checked Then
e.Node.Parent.Checked = True
Exit Sub
Else
e.Node.Parent.Checked = False
End If
Next
End If
End If
Pero al colocarlos dentro de un if, me manda un error o solamente funciona el código para checkear el nodo padre cuando se checkea el hijo.
Alguien tiene alguna sugerencia?
De antemano, gracias por la ayuda brindada.