Como Quitar los Campos Memo de un Grid en Visual Foxpro

Algo muy usual a la hora de trabajar con Visual Foxpro 9 es cuando hacemos un Query y en este tenemos un campo el cual muestra un estado del registro que queremos mostrar en una columna de un grid pero este nos aparace como memo.

En la tabla tenemos este campo numerico, insertando 0 y 1, lo que hacemos es un CASE para especificar que cuando sea 1 el estado debe aparecer ya sea ‘Activo’ o ‘Habilitado’ y cuando sea 0 ‘Inactivo’ o ‘Deshabilitado’, si trabajamos con una base de datos como PostgreSQL lo que tenemos que hacer es lo siguiente:

SELECT campo1, campo2, 
CASE WHEN estado = 1 
THEN 'Habilitado'::VARCHAR(10) 
ELSE 'Deshabilitado'::VARCHAR(10) END
FROM tabla1

Entonces en el CASE hacemos un casting indicando un tipo de datos varchar para hacer un conversion de numeric a caracter y de esta forma no aparescan los campos memo.

2.- Otra opción que tenemos es agregar un Editbox a la columna del Grid donde especificamos el estado, para esto hacemos lo siguientes:

  1. Seleccionamos el Grid
  2. Hacemos click derecho sobre el Grid
  3. Hacemos click en Edit
  4. Luego de hacer click en Edit, hacemos click sobre la columna donde especificamos el estado.
  5. Ahora arrastramos un Edibox a la columna del Grid desde el Select Objects
  6. Luego de hacer el paso (e) lo que hacemos es modificar la propiedad curren control de la columna donde agregamos el Edibox, solo tenemos que escificar que el objecto que queremos mostrar es un Edibox y no un Text como viene por defecto.

3.- Como tercera opción podemos intentar hacer un If anidado en una sola linea, algo como esto:

IIF(cursor.estado = 1, 'Activo', 'Inactivo')

Lo que hacemos es condicionar el campo estado dentro del cursor antes de pasarlo al Grid. Espero y el contenido resulte de ayuda.

Recomendado