*________________________________类定义_______________________________*
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
DATA: UCOMM TYPE SY-UCOMM.
METHODS HANDLE_DATA_CHANGED FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
IMPORTING ER_DATA_CHANGED.
METHODS HANDLE_DATA_CHANGED_FINISHED FOR EVENT DATA_CHANGED_FINISHED OF CL_GUI_ALV_GRID
IMPORTING E_MODIFIED ET_GOOD_CELLS.
PRIVATE SECTION.
DATA REFRESH TYPE C.
ENDCLASS.
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_DATA_CHANGED_FINISHED.
PERFORM FRM_WHEN_CHANGED_FINISHED
USING E_MODIFIED ET_GOOD_CELLS.
IF REFRESH = 'X'.
PERFORM REFRESH_TABLE_DISPLAY.
CLEAR REFRESH.
ENDIF.
ENDMETHOD.
METHOD HANDLE_DATA_CHANGED.
REFRESH = 'X'.
ENDMETHOD.
ENDCLASS.
*________________________________Form_______________________________*
FORM FRM_WHEN_CHANGED_FINISHED USING P_E_MODIFIED P_ET_GOOD_CELLS.
IF P_ET_GOOD_CELLS IS NOT INITIAL.
DATA: LS_ROW_ID TYPE LVC_S_ROW.
CALL METHOD GV_GRID->GET_CURRENT_CELL
IMPORTING
ES_ROW_ID = LS_ROW_ID.
IF LS_ROW_ID IS NOT INITIAL.
CLEAR: GS_RB06.
READ TABLE GT_RB06 INTO GS_RB06 INDEX LS_ROW_ID.
MODIFY GT_RB06 FROM GS_RB06 TRANSPORTING ZDJXH WHERE MATNR = GS_RB06-MATNR.
ENDIF.
ENDIF.
ENDFORM.
FORM REFRESH_TABLE_DISPLAY.
DATA: IS_STABLE TYPE LVC_S_STBL.
IS_STABLE-ROW = 'X'.
IS_STABLE-COL = 'X'.
CALL METHOD GV_GRID->REFRESH_TABLE_DISPLAY( EXPORTING IS_STABLE = IS_STABLE ).
ENDFORM.