Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2010, 17:06
raptor_yimm
 
Fecha de Ingreso: junio-2010
Ubicación: Ehhh... ¿Alguien podría decirme donde me encuentro o_O???
Mensajes: 39
Antigüedad: 13 años, 10 meses
Puntos: 0
Checkear casillas de nodos del TreeView dependiendo del nodo checkeado

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.