Ayuda treeview con checkbox

26/04/2006 - 00:59 por Wilson Guerra | Informe spam
Hola a todos, alguien me puede colaborar diciendome la forma como puedo
hacer para convertir la propiedad nodeCheck en falso o verdadero y luego
recorrer el treeview buscando que nodos tienen la propiedad nodeCheck en
verdadero.

Espero me hayan entendido.

Es urgente ya que la necesito para terminar un proyecto.

De antemano, gracias por la ayuda.

Wilgueve


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similare

Leer las respuestas

#6 Wilson Guerra
16/05/2006 - 00:41 | Informe spam
En realidad lo que deseo hacer es, a través de un treeview, elegir los
accesos de los usuarios a las diferentes opciones de la aplicación y luego
recorriendo este treeview generar los perfiles de cada usuario.

De antemano, gracias por la ayuda.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
#7 Hugo M. Ranea
16/05/2006 - 00:46 | Informe spam
Wilson,

Entonces es algo asi como lo que te dije en el primer mensaje, dame unos minutos y escribo algun ejemplo (Espero!)

Hugo

Wilson Guerra wrote:

Mostrar la cita
#8 Hugo M. Ranea
16/05/2006 - 01:22 | Informe spam
Wilson, quizá esto te ayude a empezar, fijate que no chequeo errores, utilizo algunos metodos que quizá no usaria en una
aplicación normal, solo es algo rapido para mostrarte:

PUBLIC oform1

oform1=NEWOBJECT("form1")
oform1.Show
RETURN


**************************************************
*-- Form: form1 (x:\foxv\hugo\prog\tvtest.scx)
*-- ParentClass: form
*-- BaseClass: form
*-- Time Stamp: 05/15/06 04:14:14 PM
*
DEFINE CLASS form1 AS form


DoCreate = .T.
Caption = "Form1"
*-- XML Metadata for customizable properties
_memberdata = ""
Name = "Form1"


ADD OBJECT olecontrol1 AS olecontrol WITH ;
Top = 6, ;
Left = 5, ;
Height = 202, ;
Width = 359, ;
Name = "Olecontrol1", ;
OLEClass = "MSComctlLib.TreeCtrl.2"

ADD OBJECT cmdsalir AS commandbutton WITH ;
Top = 220, ;
Left = 282, ;
Height = 27, ;
Width = 84, ;
Caption = "Salir", ;
Name = "cmdSalir"


ADD OBJECT cmdprocesar AS commandbutton WITH ;
Top = 216, ;
Left = 105, ;
Height = 27, ;
Width = 84, ;
Caption = "Procesar", ;
Name = "cmdProcesar"


ADD OBJECT txtusuario AS textbox WITH ;
Value = "miUsuario", ;
Height = 23, ;
Left = 6, ;
Top = 217, ;
Width = 92, ;
Name = "txtUsuario"


PROCEDURE Load
create cursor c_menu (pk I, Title M, padre I)

insert into c_menu values (1, 'File', 0)
insert into c_menu values (2, 'Edit', 0)
insert into c_menu values (3, 'View', 0)
insert into c_menu values (4, 'Format', 0)

insert into c_menu values (5, 'New', 1)
insert into c_menu values (6, 'Open', 1)
insert into c_menu values (7, 'Close', 1)
insert into c_menu values (8, 'Save', 1)
insert into c_menu values (9, 'Save As', 1)

insert into c_menu values (10, 'Cut', 2)
insert into c_menu values (11, 'Copy', 2)
insert into c_menu values (12, 'Paste', 2)
insert into c_menu values (13, 'Bookmarks', 2)

insert into c_menu values (14, 'Toogle task list', 13)
insert into c_menu values (15, 'Toogle bookmark', 13)
insert into c_menu values (16, 'Next bookmark/tasklist', 13)
insert into c_menu values (17, 'Previous bookmark/tasklist', 13)

insert into c_menu values (18, 'Toolbars', 3)

insert into c_menu values (19, 'Font', 3)
insert into c_menu values (20, 'Single space', 3)
insert into c_menu values (21, 'Comment', 3)
insert into c_menu values (22, 'Uncomment', 3)
ENDPROC


PROCEDURE olecontrol1.Init
select c_menu

index on Bintoc(padre) + Bintoc(pk) tag Orden && Para estar seguros agregamos los nodos cuyos padres han sido agregados

with this
.FullRowSelect = .t.
.HideSelection = .f.
.CheckBoxes = .t.

.Nodes.Add(, , 'root', 'Menu')
scan
lcKey = Transform(c_menu.pk, '@L 9999_')
lcParent = Iif(c_menu.padre = 0, 'root', Transform(c_menu.padre, '@L 9999_'))
.Nodes.Add(lcParent, 4, lcKey, c_menu.Title)
endscan
endwith
ENDPROC


PROCEDURE cmdsalir.Click
thisform.Release()
ENDPROC


PROCEDURE cmdprocesar.Click
create cursor c_permisos (Usuario C(20), MenuID I, MenuTitle C(128)) && MenuTitle solo para ver mas facil

for each loNode in thisform.olecontrol1.Nodes
if loNode.Checked
insert into c_permisos values (thisform.txtUsuario.Value, Val(loNode.Key), loNode.Text)
endif
endfor


browse last normal
ENDPROC


ENDDEFINE
*
*-- EndDefine: form1
**************************************************


Wilson Guerra wrote:

Mostrar la cita
#9 Hugo M. Ranea
16/05/2006 - 01:42 | Informe spam
Quiza hubiera sido mejor que en el init del treeview haya puesto, luego del comand ENDSCAN, y antes del endwith
.Nodes('root').Expanded = .t.
#10 Wilson Guerra
22/05/2006 - 19:17 | Informe spam
Hugo, te agradezco la ayuda, ha sido de gran utilidad y me ha enseñado
mucho, ahora tengo otra pregunta:

Resulta que el menú principal de la aplicación es un treeview y por algún
motivo éste está anulando los métodos del treeview del control de accesos,
te lo digo por que probé el formulario de accesos por fuera de la
aplicación y me funcionó perfecto el método nodeCheck, esto para chequear
o no un grupo de hijos, pero cuando lo integro a la aplicación no me
funciona, que se debe hacer para evitar este inconveniente.



PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Ads by Google
Search Busqueda sugerida