Foros del Web » Programación para mayores de 30 ;) » .NET »

Checkear casillas de nodos del TreeView dependiendo del nodo checkeado

Estas en el tema de Checkear casillas de nodos del TreeView dependiendo del nodo checkeado en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/11/2010, 17:06
 
Fecha de Ingreso: junio-2010
Ubicación: Ehhh... ¿Alguien podría decirme donde me encuentro o_O???
Mensajes: 39
Antigüedad: 14 años, 5 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.

Etiquetas: checkbox, nodos, seleccionar, treeview
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:34.