Estoy haciendo un treeview en el que al marcar checkbox de un nodo evaluo
si realmente puede marcarse, y en caso de que sea así marco todos los
nodos padres del actual como checked.
El metodo NodeCheck basicamente es este:
LPARAMETERS NODE
LOCAL l_padre
IF !NODE.checked
* se ha desmarcado
ELSE
NODE.checked=THISFORM.Evaluo_si_se_puede_marcar(NODE.key)
* mercar a todos los padres si efectivamente se ha marcado el elemento
IF NODE.checked
l_padre=NODE.PARENT
DO WHILE !ISNULL(l_padre)
l_padre.checked=.T.
l_padre=l_padre.PARENT
ENDDO
ENDIF
ENDIF
Cuando se intenta marcar un nodo y Evaluo_si_se_puede_marcar=.t. se marca
el nodo y sus padres.
El problema es que cuando un nodo se marca y Evaluo_si_se_puede_marcar
devuelve .f. efectivamente la parte del método que debe marcar los padres
no se ejecuta, el depurador me dice node.checked=.f. pero al final el nodo
queda marcado.
Le he dado mil vueltas y no le veo la pega
PortalFox :: Nada corre como un zorro
http://www.portalfox.com
PortalFox - NNTP Forum Gateway
Leer las respuestas