Problema con el Grid de Foxpro7.0

Hola, estoy haciendo una aplicación en la que uso un Grid con 6 columnas. Las 2 primeras son solo lectura y en las 4 siguientes es posible escribir. El avance en cada linea de registro de hace con ENTER. Mi pregunta es la siguiente:
¿Se puede hacer que al salir el foco de la sexta columna (la ultima del registro) AUTOMÁTICAMENTE pase al siguiente registro? Y de esa forma, ¿recorrer todos los registros de ese Grid?
Gracias de antemano por su ayuda y un saludo desde la Ciudad de México.!
Leopoldo

1 respuesta

Respuesta
1
Como estas, mira te paso el código como tienes que hacerlo, lo probé y anda perfecto para lo que quieres hacer.
Este código va en la grilla en el evento BeforeRowColChange
*activecolumn me devuelve el numero de columna por lo tanto tienes que poner el numero de columna que quieres que se ejecute este codigo.
*Lastkey() = 13 estoy diciento que sea la tecla Enter.
IF lastKey() = 13 and ;
this.activecolumn = 6
select c_grdgsts
skip +1
this.refresh
Endif
Aplique tu recomendación, pero desgraciadamente No hizo lo que se esperaba. Yó estaba pensando si se podía definir o establecer la función de la tecla DNARROW (flecha abajo) para que se ejecute desde el keyPress de la sexta celda. ¿Qué opinas?
Saludos desde la ciudad de méxico.
Lo que se me ocurre, ojo, solución sencilla, se puede hacer más compleja,
pero digamos que la grilla es un contenedor y temos cargado en el una tabla, vista o cursor, lo que se puede hacer es cuando estés en la ultima columna "thisform.grid1.column6.text1"
En el evento keypress podes poner:
IF nKeyCode = 13
IF eof()
skip-1
else
Skip
Endif
Endif
Así puedes cerrarla y no queda activa.
Ademas para compensar a los expertos que tratamos de ayudar a la gente de programación haciendo que sus tareas sean más simple sin ningún beneficio monetario.
Que estes bien chau chau

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas