FoxPro/Visual FoxPro - Ayuda con Grid y campos lógicos

   
Vista:

Ayuda con Grid y campos lógicos

Publicado por Juan (71 intervenciones) el 29/01/2014 16:46:33
Buenas tardes, tengo un grid y muestro campos de una tabla, el problema es que en una columna en el controlsource pongo un campo que es lógio, o sea, que solo puede ser .t. o .f., y en la columna me muestra esos valores. Mi pregunta es si se puede sacar solo un 'SI' en caso de que sea .T. y vacio en caso de que sea .F., ya que los clientes no entienden muy bien esos valores.

Un saludo.
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

Ayuda con Grid y campos lógicos

Publicado por Fidel José (558 intervenciones) el 29/01/2014 21:09:46
Lo normal para mostrar un campo lógico en un grid, es agregar un objeto checkBox y ponerlo como CurrentControl de la columna. Lo podés hacer por programa o manualmente en el diseñador de formularios.

1
2
3
4
5
6
7
8
9
10
11
12
wi=Número de columna
cName=cTabla+"."+cCampoTabla
with thisform.grid1
			.Columns(wi).ControlSource='&cName'
				.Columns(wi).Sparse=.f.
				if Vartype(.Columns(wi).Check1)#"O"
					.Columns(wi).AddObject("Check1",'CheckBox')
				endif
				.Columns(wi).CurrentControl="Check1"
				.Columns(wi).Check1.Caption=""
				.Columns(wi).Check1.Visible=.t.
endwith
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

Ayuda con Grid y campos lógicos

Publicado por Juan (71 intervenciones) el 30/01/2014 10:29:34
Muchas gracias, se me agrega bien pero me da un error:

Mensaje de error: Error with Check1 - value: Data Type mismatch
Línea de código con error: .&cColum..addobject("Check1", "CheckBox")

Por lo que he visto es porque se inicializa a 0 ó 1, me podrías decir como utilizar .t. o .f.

Un saludo.
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

Ayuda con Grid y campos lógicos

Publicado por Juan (71 intervenciones) el 30/01/2014 11:03:25
Ya lo he corregido.

Lo he hecho de la siguiente manera:

antes de nada hacer:

.columns(nI).removeobject("Text1")

Un saludo
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

Ayuda con Grid y campos lógicos

Publicado por Fidel José (558 intervenciones) el 30/01/2014 16:23:17
Eso depende del campo apuntado. Por eso, la primera instrucción debe ser el ControlSource de la columna. El controlsource de la columna debe apuntar a un campo lógico o numeric (n,1) que puede tener valores 0,1 y 2. Si la columna donde metes el checkbox tiene otro tipo de datos, te dará el error que ahí dice.
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