Crear menú contextual en un grid y llamar a un formulario

Doc una consulta como estas, como podría hacer un menu contextual dentro de un grid, que me permita hacer acciones de nuevo, editar, pero esa inserción o edición llame a un formulario.
Gracias de Antemano

1 Respuesta

Respuesta
1
Lo que puedes hacer es definir un menú para algún evento de la grilla, yo lo haría en el evento rightclick(), acá te paso un ejemplo de una deficición de menú simple:
nX = MROW()
nY = MCOL()
DEFINE POPUP mMenu_grilla SHORTCUT RELATIVE FROM nX, nY
DEFINE BAR 1 OF mMenu_grilla PROMPT "mostrar hola"
ON SELECTION BAR 1 OF mMenu_grilla WAIT WIND "Hola"
ACTIVATE POPUP mMenu_grilla
Release popups mMenu_grilla extended
Si necesitas agregar más de una opción al menú, tienes que repetir "define bar" y "on selection bar" para cada ítem que agregues al menú.
Cualquier duda estoy a tu disposición.
doc gracias por el dato, ¿pero crees que en cada una de las opciones pueda colocar algún código para llamar a un formulario?
Saludos
Por supuesto, en donde yo puse "WAIT WIND 'hola'" podes reemplazarlo por ejemplo por LLAMAR_FORMULARIO()
Y luego te creas un PRG llamado LLAMAR_FORMULARIO o bien lo haces con un método nuevo en el formulario donde está la grilla. EJ: thisform. LLAMAR_FORMULARIO() 
Dentro de ese programa o método nuevo puedes hacer lo que quieras, como un createobject(), o cualquier cosa que desees, ten en cuenta que es importante que antes que regreses al formulario donde estaba la grilla debes seleccionar la tabla que usa la grilla y restablecer lo necesario.
Cualquier duda sigo a tu disposición.

Añade tu respuesta

Haz clic para o