刷新内表代码 等

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.

http://www.itpub.net/thread-1067872-1-1.html

posted @ 2012-03-12 19:21  VerySky  阅读(1352)  评论(0)    收藏  举报