REUSE_ALV_GRID_DISPLAY事件子过程和cl_gui_grid类的事件对应关系
一、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