DESPLAZARSE A FILA Y COLUMNA ESPECIFICA EN GRID

367 views
Skip to first unread message

Ricardo Soldini

unread,
Sep 6, 2022, 11:53:37 AM9/6/22
to Comunidad de Visual Foxpro en Español
COMO ESTAN ESTIMADOS, Tengo la siguiente necesidad 
en un grid que se ha asociado a un cursor que se creo con create cursor  al cual se le asignaron cierta cantidad de lineas, para que el usuario se mueva por el grid como si fuera un excel, necesito implementar la siguiente logica
por ejemplo el usuario comienza en lalinea 1 columna 1 a escribir, al dar enter pasa a la linea 1 columna 2, si da enter a la linea 1 columna 3, en esta columan en el lost focus puse la siguientes einstrucciones
if reccount('este_cursor')  < recno('este_cursor')
   keyboard 'dnarrow´  &&para que baje a la siguiente linea
 keyboard 'leftarrow  && para que retroceda a la columna 2
keyboar 'leftarrow'  && para que retroceda a la columna 1
endif

no obstante que si baja a la siguiente linea 
no vuelve a la primera columna

Tambien intente poner 
Thisform.Grid1.Columns(1).setfocus()
pero tampoco

Cualquier sugerencia se las agradezco de ante mano


endif

Antonio Lima

unread,
Sep 6, 2022, 1:02:43 PM9/6/22
to publice...@googlegroups.com
Hola Ricardo,

Yo no uso varias filas vacías, sino que según va necesitando al dar enter en la última columna se va agregando una nueva fila,  
A lo mejor lo puedes usar todo en el evento KeyPress


Por si te sirve te adjunto la secuencia.

image.png
El botón tiene la A subrayada para que si el usuario presiona ALT+A se presione el botón 
image.png

En el evento Click  del botón
La tabla en mi caso se llama det_mov,  el campo cuenta es el primer campo en el grid

image.png

Un saludo,


--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/ea3b360e-f940-4af9-9924-8d2b4532a2ccn%40googlegroups.com.

Ricardo Soldini

unread,
Sep 6, 2022, 4:32:36 PM9/6/22
to Comunidad de Visual Foxpro en Español
Hola
si tambien tengo en la ultima columna el agregar un registro al cursor y refresco el grid, eso es precisamente lo que hace el usuario, es decir antes de ingresar datos presiona varias veces el boton de agregar un registro 
y luego desea que funcione como explieque abtes, es decir  en la cuarta columna si da enter y el valor es espacio en blanco debe saltar al la siguiente linea columna 1
y si esta en la columna 7 y da enter  quiere que el foco lo reciba la siguinete linea en la columna 5

y como les comente use keyboard para simular las pulsaciones de las flechas pero no funciona bien

Zarlu

unread,
Sep 6, 2022, 5:28:16 PM9/6/22
to Comunidad de Visual Foxpro en Español
Buenas tardes Ricardo!

Quizá esto te de una idea:
Thisform.grid1.SetFocus
lnRow=Thisform.grid1.ActiveRow
Thisform.grid1.ActivateCell(lnRow+1,1)

Suerte
zarlu
Chetumal, Quintana Roo, México

mario oviedo

unread,
Sep 7, 2022, 2:11:41 PM9/7/22
to publice...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages