需求场景
使用REUSE_ALV_GRID_DISPLAY_LVC生成ALV,发现一个问题:使用it_events的时候选择列排序时会弹出定义排序顺序窗口,如下图所示。(正常选择某一列再使用排序功能时会直接排序,不用再选择列)
解决方案
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_modify.
DATA: lv_enter TYPE REF TO cl_gui_event,
lv_eventid TYPE i.
"获取当前事件
lv_enter = ref_grid->cur_event.
"实例化成功的时候
IF lv_enter IS NOT INITIAL.
lv_eventid = lv_enter->eventid.
ENDIF.
IF lv_eventid = 19 AND sy-ucomm = ''.
stbl-row = 'X'."基于行的稳定刷新
stbl-col = 'X'." 基于列稳定刷新
CALL METHOD ref_grid->refresh_table_display
EXPORTING
is_stable = stbl.
ENDIF.
ENDMETHOD.
ENDCLASS.
说明:
只有enter事件时再刷新。