Insert the code below in a report
Create screen 0100 and place a Custom contol on the screen. Name the control MY_CONTAINER
In PROCESS BEFORE OUTPUT for screen 0100 insert: MODULE create_objects.
Run the report
Double click on a row in the grid
Code
REPORT zalv_test. *---------------------------------------------------------------------* * CLASS lcl_event_handler DEFINITION *---------------------------------------------------------------------* * *---------------------------------------------------------------------* CLASS lcl_event_handler DEFINITION. PUBLIC SECTION. METHODS: on_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING es_row_no e_column. ENDCLASS. "lcl_event_handler DEFINITION *---------------------------------------------------------------------* * CLASS lcl_event_handler IMPLEMENTATION *---------------------------------------------------------------------* * *---------------------------------------------------------------------* CLASS lcl_event_handler IMPLEMENTATION. METHOD on_double_click. DATA: msg_string TYPE string, row_string TYPE string. row_string = es_row_no-row_id. CONCATENATE 'Row: ' row_string ' Column: ' e_column-fieldname INTO msg_string. MESSAGE msg_string TYPE 'I'. ENDMETHOD. "on_double_click ENDCLASS. "lcl_event_handler IMPLEMENTATION DATA: r_cont TYPE REF TO cl_gui_custom_container, r_grid TYPE REF TO cl_gui_alv_grid, itab TYPE TABLE OF spfli, r_handler TYPE REF TO lcl_event_handler. START-OF-SELECTION. SELECT * FROM spfli INTO TABLE itab. CALL SCREEN 100. *&---------------------------------------------------------------------* *& Module create_objects OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE create_objects OUTPUT. CHECK r_cont IS INITIAL. CREATE OBJECT r_cont EXPORTING container_name = 'MY_CONTAINER'. CREATE OBJECT r_grid EXPORTING i_parent = r_cont. r_grid->set_table_for_first_display( EXPORTING i_structure_name = 'SPFLI' CHANGING it_outtab = itab ). CREATE OBJECT r_handler. SET HANDLER r_handler->on_double_click FOR r_grid. ENDMODULE. " create_objects OUTPUT
No comments:
Post a Comment