Colegas:
Alguien tiene algun truco para que, cuando el usuario marque un TreeViewItem se marquen sus posibles hijos y el Padre?
y viceversa, si demarcan el Item se demarquen sus posibles hijos y al Padre (siempre y cuando no existan mas hijos marcados)
Si San Nicolás existe... "porque no ha de existir alguien que ya haya resuelto esto" jejej
GRACIAS !!
Saludos
Israel
Attached files
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Marcar padre e hijos de un TreeViewItem
-
- Mensajes: 155
- Registrado: Mié Nov 03, 2004 12:42 pm
- Ubicación: Cancún, México
- Contactar:
Marcar padre e hijos de un TreeViewItem
Saludos
Israel
Israel
- ignacio
- Site Admin
- Mensajes: 9259
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Marcar padre e hijos de un TreeViewItem
Es muy fácil, si tienes en cuenta que un control TreeView Item si a su vez es contendor de controles, éste tendrá una matriz aItems con todos ellos, por lo tanto todo consiste en hacer una pequeña función recursiva que haga el trabajo:
FUNCTION TVSetChecked( aItems, lChecked )
LOCAL oItem, i
DEFAULT lChecked TO TRUE
FOR i := 1 TO Len( aItems )
oItem := aItems[ i ]
oItem:lChecked := lChecked
IF Len( oItem:aItems ) != 0
TVSetChecked( oItem:aItems, lChecked )
ENDIF
NEXT
RETURN Nil
Saludos
FUNCTION TVSetChecked( aItems, lChecked )
LOCAL oItem, i
DEFAULT lChecked TO TRUE
FOR i := 1 TO Len( aItems )
oItem := aItems[ i ]
oItem:lChecked := lChecked
IF Len( oItem:aItems ) != 0
TVSetChecked( oItem:aItems, lChecked )
ENDIF
NEXT
RETURN Nil
Saludos
-
- Mensajes: 155
- Registrado: Mié Nov 03, 2004 12:42 pm
- Ubicación: Cancún, México
- Contactar: