FoxPro/Visual FoxPro - problemas con un check dentro de un grid

   
Vista:

problemas con un check dentro de un grid

Publicado por jorge omen_dj@hotmail.com (5 intervenciones) el 23/09/2013 20:57:40
Buenas tardes,

ante todo gracias por su colaboracion, mi pequeño problema es que al momento de llenar un grid de una consulta por base de datos, una de esas columnas lo tengo identificado con un check, en la consulta por bd hay un campo que me indica un 1 o 0, lo que quiero es que cuando ese campo sea uno en la columna del check me marque uno y si trae 0 me muestre el check pero desmarcado, no se si me explico. trato de hacerlo pero en vez de marcar el check lo que hace es colocar el 1 o 0 en dicha columna.

agradezco su ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problemas con un check dentro de un grid

Publicado por Fidel (558 intervenciones) el 23/09/2013 23:17:18
Para agregar un control Check a una columna de un control grid:

1
2
3
4
5
6
7
8
9
10
11
12
13
* wi= número de columna
* xpfile= Cursor (RecordSource)
* cCol= Nombre del campo que se asigna a la columna
with thisform.Grid1
	.Columns[wi].ControlSource='&xpfile..&ccol'
	.Columns[wi].sPARse=.F.
 
	IF !PEMSTATUS(.Columns[wi],"Check1",5)
		.Columns[wi].AddObject("Check1",'CheckBox')
	endif
	.Columns[wi].CurrentControl="Check1"
	.Columns[wi].Check1.Caption=""
	.Columns[wi].Check1.Visible=.t.
Al asignar el ControlSource de la columna ("Cursor.Campo") le das la inicialización que necesita el Check para saber si trabajará con .F./.V. ó 0,1,2.
Para que se vea en todas las filas como Check y no como TextBox, la columna debe ser Sparse=.F.
El control Checkbox estará sin tilde, para el caso .F./.T. cuando su valor sea .F.
Para el caso 0,1,2
0: desmarcado
1: con marca de activo
2: con marca de activo pero con color de deshabilitado.

Ahora si tu quieres que cuando sea 1 se vea un 1 y cuando sea cero se vea un checkbox, se puede hacer, pero la técnica es más complicada. Debes agregar un container a la columna y manejar los objetos según el valor apuntado. Lo que parece más fácil es crear en una biblioteca una clase container con un textbox y un checkbox, y el método de control. Agregas el container a una columna del Grid y lo pones como Currentcontrol. Desde el AfterRowColChange envías el valor parámetro al método del container. El método debe conseguir que se muestre uno u obro objeto, dependiendo del valor del parámetro. Es para renegar bastante antes de conseguir algo interesante.
Antes de hacer algo así, conviene reflexionar sobre el resultado, desde el punto de vista de un usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con un check dentro de un grid

Publicado por jorge (5 intervenciones) el 24/09/2013 15:24:52
Buen dia,

Basicamente es, cuando el resultado de la consulta por bd sea 1 me marque el check y si es cero el check me aparezca desmarcado.

Gracias ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con un check dentro de un grid

Publicado por Fidel (558 intervenciones) el 24/09/2013 15:28:30
Bien, y cuál es tu problema?
a) no te aparece el CheckBox en el grid
b) aparece pero no responde como quieres
c) no te aparece en todas las filas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con un check dentro de un grid

Publicado por jorge (5 intervenciones) el 24/09/2013 15:37:49
1._ El grid se carga por una consulta que realizo por medio de un boton en la bd. la informacion obtenida la almaceno en un cursor y luego con el controlSource de cada columna le asigno el campo que traigo del cursor.
2._ En la columna donde tengo definida el Check hay un campo del cursor que indica 1 o 0

3._ el problema es que quiero validar si ese campo del cursor es 1 en la columna del check lo marque de lo contrario no lo marca. OJO con la propiedad sparce = .F. ya muestro el check. No se si me explique.

Gracias por la ayuda, pero es lo unico que me hace falta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con un check dentro de un grid

Publicado por jorge (5 intervenciones) el 24/09/2013 15:55:42
Gracias por la ayuda, aplique lo que me indicaste en el primer mensaje y me funciono a la perfeccion..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con un check dentro de un grid

Publicado por Fidel (558 intervenciones) el 24/09/2013 15:59:40
Me alegro. Se me armó un bodrio con la interfase y no ví que habías solucionado el problema!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar