EL EVENTO DOUBLE CLICK DEL ALV GRID CONTROL
EL EVENTO DOUBLE CLICK
Un ALV GRID CONTROL puede reaccionar a los eventos definidos por el usuario. Si miramos los eventos existentes para la clase CL_GUI_ALV_GRID veremos los posibles eventos con los que podemos trabajar.
Uno de los eventos es por ejemplo el DOUBLE_CLICK.
Por ejemplo una reacción posible seria el procesamiento subsecuente al doble clic sobre determinado sector del reporte para mostrar información adicional de la línea del reporte a la cual se le ha realizado el doble clic.
Desde el punto de vista técnico, el evento DOUBLE_CLICK es capturado a través de un método manejador de eventos.
Siguiendo con el ejercicio que se hizo en la lección EL LAYOUT DEL ALV GRID CONTROL” vamos a implementar el evento DOBLE_CLICK.
Definimos la clase CL_EVENTO_MANEJADOR, dentro de ella el método de clase ON_DOBLE_CLICK como se muestra:
CLASS cl_evento_manejador DEFINITION.
…PUBLIC SECTION.
……CLASS-METHODS on_doble_click FOR EVENT double_click
…………………………OF cl_gui_alv_grid
…………………………IMPORTING es_row_no e_column.
ENDCLASS.
CLASS cl_evento_manejador IMPLEMENTATION.
…METHOD on_doble_click.
……MESSAGE i000(z_mensaje) WITH ‘Fila: ‘ es_row_no-row_id
…………………………………………….‘Columna:’ e_column-fieldname.
…ENDMETHOD.
ENDCLASS.
En la implementación del método ON_DOBLE_CLICK vamos a emitir un mensaje que nos va a indicar cuál es la fila y la columna a las cuales hicimos doble clic.
NOTA: Previamente creamos la clase de mensajes Z_MENSAJE mediante la transacción SE91 asignándole al mensaje 000 la descripción & & & &.
Después de que se haya creado el OBJ_GRILLA asignamos su manejador para reaccionar al evento ON_DOBLE_CLICK
IF obj_contenedor IS INITIAL.
…CREATE OBJECT obj_contenedor EXPORTING contaniner_name = ‘CONTENEDOR’.
…CREATE OBJECT obj_grilla EXPORTING i_parent = obj_contenedor.
…SET HANDLER cl_evento_manejador=>on_doble_click FOR obj_grilla.
ENDIF.