REUSE_ALV_GRID_DISPLAY事件子过程和cl_gui_grid类的事件对应关系

来源:互联网 发布:vue单页面seo 编辑:程序博客网 时间:2024/05/21 07:14

一、SLIS定义的ALV的事件名称
* Events
slis_ev_item_data_expand    type slis_formname value 'ITEM_DATA_EXPAND',
slis_ev_reprep_sel_modify  type slis_formname value 'REPREP_SEL_MODIFY',
slis_ev_caller_exit_at_start  type slis_formname value 'CALLER_EXIT',
slis_ev_user_command        type slis_formname value 'USER_COMMAND',
slis_ev_top_of_page         type slis_formname value 'TOP_OF_PAGE',
slis_ev_data_changed        type slis_formname value 'DATA_CHANGED',
slis_ev_top_of_coverpage    type slis_formname value 'TOP_OF_COVERPAGE',
slis_ev_end_of_coverpage    type slis_formname value 'END_OF_COVERPAGE',
slis_ev_foreign_top_of_page  type slis_formname value 'FOREIGN_TOP_OF_PAGE',
slis_ev_foreign_end_of_page  type slis_formname value 'FOREIGN_END_OF_PAGE',
slis_ev_pf_status_set       type slis_formname value 'PF_STATUS_SET',
slis_ev_list_modify         type slis_formname value 'LIST_MODIFY',
slis_ev_top_of_list         type slis_formname value 'TOP_OF_LIST',
slis_ev_end_of_page         type slis_formname value 'END_OF_PAGE',
slis_ev_end_of_list         type slis_formname value 'END_OF_LIST',
slis_ev_after_line_output   type slis_formname value 'AFTER_LINE_OUTPUT',
slis_ev_before_line_output  type slis_formname value  'BEFORE_LINE_OUTPUT',
slis_ev_subtotal_text       type slis_formname value  'SUBTOTAL_TEXT',
slis_ev_context_menu        type slis_formname value 'CONTEXT_MENU'.

二、和事件相关的函数
2.1 获取所有事件到内表
  data  ct_events type slis_t_event.
  call function 'REUSE_ALV_EVENTS_GET'
    exporting
      i_list_type     = 4
    importing
      et_events       = ct_events
    exceptions
      list_type_wrong = 1
      others          = 2.
注意: i_list_type值说明:
0 = simple list                          REUSE_ALV_LIST_DISPLAY
1 = hierarchcal-sequential list          REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = simple block list                    REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchical-sequential block list   REUSE_ALV_BLOCK_LIST_HS_APPEND
4 =simple  grid   REUSE_ALV_GRID_DISPLAY

2.2 获取所有事件名称
REUSE_ALV_EVENT_NAMES_GET

三、CL_GUI_ALV_GRID的事件和 REUSE_ALV_GRID_DISPLAY定义的子过程对应关系

CL_GUI_GRID's EventREUSE_ALV_GRID_DISPLAY函数设置的用户定义子过程end_of_listcallback_html_end_of_listcallback_end_of_listprint_end_of_listcallback_end_of_listend_of_pagecallback_end_of_pagetop_of_pagecallback_html_top_of_pagecallback_top_of_pageprint_top_of_pagecallback_top_of_pageuser_command callback_user_commanddata_changedcallback_data_changedafter_user_commandcallback_user_command(注意:根据函数设置先后触发CL_GUI_GRID的"TOP_OF_PAGE"和"END_OF_LIST"事件)before_user_commandcallback_user_commandafter_refresh无,系统根据选中设置grid的行选中处理
call method gt_grid-grid->set_selected_rows
      exporting
        it_index_rows = lt_rows.double_clickcallback_user_commandhotspot_click(同double_click)callback_user_commandsubtotal_textcallback_subtotal_textcontext_menu_requestcallback_context_menu