刷新内表代码 等
FORM user_command_hz USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
* 添加这段刷新代码
READ TABLE t_data_hz INDEX rs_selfield-tabindex. " 将变动内容更新到内表
DATA: lr_grid TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lr_grid.
CALL METHOD lr_grid->check_changed_data.
rs_selfield-refresh = 'X'. "自动刷新
CASE r_ucomm.
WHEN 'ZALL'.
......
代码来自:citymatch
* 设置enter触发方式
CALL METHOD GR_GRID_D0100->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = cl_gui_alv_grid=>mc_evt_enter
EXCEPTIONS
ERROR = 1
others = 2
.
* 注册事件处理
SET HANDLER EVENT_HANDLE=>HANDLE_USER_COMMAND FOR ALL INSTANCES.
可以在注册的事件处理中进行refresh alv
在from里把function转为OO
定义了
WA_EVENTS-NAME = 'CALLER_EXIT'.
WA_EVENTS-FORM = 'FM_BUTTON'.
APPEND WA_EVENTS TO GV_EVENTS.
FORM FM_BUTTON USING E_GRID TYPE SLIS_DATA_CALLER_EXIT.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
* EXPORTING
* IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
* ET_EXCLUDING =
* E_REPID =
* E_CALLBACK_PROGRAM =
* E_CALLBACK_ROUTINE =
E_GRID = TEM_GRID
* ET_FIELDCAT_LVC =
* ER_TRACE =
* E_FLG_NO_HTML =
* ES_LAYOUT_KKBLO =
* ES_SEL_HIDE =
* ET_EVENT_EXIT =
* ER_FORM_TOL =
* ER_FORM_EOL =
.
* 设置enter事件
CALL METHOD TEM_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = cl_gui_alv_grid=>mc_evt_enter
EXCEPTIONS
ERROR = 1
others = 2
.
CREATE OBJECT GV_EVENT_RECEIVER.
SET HANDLER GV_EVENT_RECEIVER->HANDLE_MODIFY FOR TEM_GRID.
ENDFORM.
GV_EVENT_RECEIVER的类定义:
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
HANDLE_MODIFY
FOR EVENT data_changed_finished OF CL_GUI_ALV_GRID
IMPORTING E_MODIFIED ET_GOOD_CELLS.
ENDCLASS.
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_MODIFY.
data STBL TYPE LVC_S_STBL.
* 稳定刷新
STBL-ROW = 'X'." 基于行的稳定刷新
STBL-COL = 'X'." 基于列稳定刷新
CALL METHOD TEM_GRID->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = STBL.
ENDMETHOD.
* FREE: TEM_POP_CONTAINER, TEM_POP_ALV.
ENDCLASS.

浙公网安备 33010602011771号