Visualizar un grid

Hola davsoft.
Tengo un problemita que cuando muestro datos de una consulta sql en un grid me modifica la forma de distribución que le di al grid por ejemplo: En el grid lo configuro con botón derecho del mouse y elijo Generador, elijo la tabla de donde comparo lod datos elijo los campos a mostrar en el grid y le coloco el encabezado que tiene cada uno para mostrar y no el nombre del campo por ejemplo DNI- Apellido y Nombres - Deudor
Ahora bien antes de mostrar voy cargando datos en algunos objetos para que busque según datos ingresados luego tengo un objeto Option grup con dos opciones mostrar ordenados por DNI y el otro por Apellido y Nombres. En el evento click del primer Option1 escribo la siguiente sentencia:
SELECT dni_persona,apellido_nombres,deudor_sino FROM inscripciones ORDER BY dni_persona WHERE ano_solicitud=THISFORM.ano_actual.VALUE INTO CURSOR inscrptemp
THISFORM.grid1.RECORDSOURDE="inscriptemp"
y aldo asi tambien en el evento click del option2 cambiando el ORDER BY apellido_nombres
esto lo hace bien cuando hago el primer click del option1 y si hago para que me muestre ordenado por apellido me cambia los encabezados del grid colocando como encabezado los nombres de los campos y no como lo defini anteriormente. ¿Cual sera la razon que me los cambia?
Gracias

1 Respuesta

Respuesta
1
Disculpa la demora, este es el caso típico de cuando el grid pierde sus propiedades, te daré la solución, pero me gustaría que leas artículos en portalfox buscando por grid pierde propiedades o grid seguros que dan profesionales con muy buenos artículos para que entiendas mejor la parte teórica, pero yo te daré la solución rápida a tu problema, cuando ejecutes tu aplicación y si el grid esta vinculado a un cursor recuerda que cuando ejecutes un sql que creara nuevamente ese cursor con el mismo nombre, fox internamente esta haciendo algo de matar el cursor, volver a crearlo etc, pues entonces el grid en milésimas de segundos no encuentra su recordsource y da ese problema, pues la opciion para solucionar esto siempre hazle el siguiente código antes de cualquier ejecución de sql
thisform.grid1.recordsource = ' '
select * from x into cursor y
thisform.grid1.recordsource  = 'y'
Esta es la idea, también puedes hace en el init del grid el comando .recordsource = ' ' para que el grid inicie siempre vacío, esta es la forma más practica de evitar que el grid pierda sus propiedades.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas