*&---------------------------------------------------------------------*
*& Report ZF_TEST_6
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZF_TEST_6.
**********************************************************************
*REPORT DESCRIBE:双击后实现单元格可编辑
*DEVELOPER:SALAH
*DEVELOP DATE:20191024
*MODIFY DATE:
*FUNCTION SPEC:
*KEY USER:
**********************************************************************
TYPE-POOLS SLIS.
TYPES:BEGIN OF TYP_01,
PER_KEY(20) TYPE C,
PER_NOR(20) TYPE C,
SEL_STY TYPE LVC_T_STYL,
CBOX TYPE C,
END OF TYP_01.
DATA IS_SEL_STY TYPE LVC_S_STYL.
DATA IS_LAYOUT TYPE LVC_S_LAYO.
DATA IS_GRID_SET TYPE LVC_S_GLAY.
DATA GT_01 TYPE STANDARD TABLE OF TYP_01 .
DATA GS_01 TYPE TYP_01.
DATA IR_01 TYPE REF TO CL_GUI_ALV_GRID."ALV显示类
DATA LR_01 TYPE REF TO CL_GUI_ALV_GRID.
DATA IR_02 TYPE REF TO CL_GUI_CUSTOM_CONTAINER."容器类
DATA IT_FIELDCAT TYPE LVC_T_FCAT .
DATA IS_FIELDCAT TYPE LVC_S_FCAT.
DATA OK_CODE TYPE SYUCOMM.
DATA I_K TYPE C.
CLASS DOUBLE_CLICK DEFINITION.
PUBLIC SECTION.
METHODS DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID IMPORTING E_ROW E_COLUMN ES_ROW_NO.
ENDCLASS.
CLASS DOUBLE_CLICK IMPLEMENTATION.
METHOD DOUBLE_CLICK.
PERFORM FRM_DOUBLE USING E_ROW E_COLUMN ES_ROW_NO.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
CALL SCREEN 1010.
*&---------------------------------------------------------------------*
*& Module STATUS_1010 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_1010 OUTPUT.
SET PF-STATUS 'MENU'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.
LEAVE PROGRAM.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module DISPLAY OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE DISPLAY OUTPUT.
DATA P_EVENTS TYPE REF TO DOUBLE_CLICK."类的名字
CREATE OBJECT P_EVENTS.
GS_01-PER_KEY = 'test key one'.
GS_01-PER_NOR = 'test normal one'.
APPEND GS_01 TO GT_01.
GS_01-PER_KEY = 'test key two'.
GS_01-PER_NOR = 'test normal two'.
APPEND GS_01 TO GT_01.
IS_FIELDCAT-FIELDNAME = 'per_key'.
"is_fieldcat-edit = 'X'.
IS_FIELDCAT-SCRTEXT_L = '键值数据'.
APPEND IS_FIELDCAT TO IT_FIELDCAT.
IS_FIELDCAT-FIELDNAME = 'per_nor'.
"is_fieldcat-edit = 'X'.
IS_FIELDCAT-SCRTEXT_L = '非键值数据'.
IS_GRID_SET-EDT_CLL_CB = 'X'.
IS_GRID_SET-EDT_CLL_CB = 'X'.
IS_LAYOUT-CWIDTH_OPT = 'X'.
IS_LAYOUT-EDIT = 'X'.
IS_LAYOUT-NO_TOOLBAR = 'X'.
IS_LAYOUT-STYLEFNAME = 'SEL_STY'.
IS_LAYOUT-BOX_FNAME = 'CBOX'.
APPEND IS_FIELDCAT TO IT_FIELDCAT.
LOOP AT GT_01 INTO GS_01.
IS_SEL_STY-FIELDNAME =