点击全选界面多出一个状态栏位。
具体原因:
FORM frm_refresh_alv USING sender TYPE REF TO cl_gui_alv_grid .
DATA: ls_stbl TYPE lvc_s_stbl.
-
PERFORM frm_set_layout.
-
CALL METHOD sender->set_frontend_layout
EXPORTING
is_layout = gs_layout.ls_stbl-row = ‘X’." 基于行的稳定刷新
ls_stbl-col = ‘X’." 基于列稳定刷新
CALL METHOD sender->refresh_table_display
EXPORTING
is_stable = ls_stbl
EXCEPTIONS
finished = 1
OTHERS = 2.
ENDFORM.
调用OO刷新的时候 重新加载了一个状态
解决方法:
1.设置lvc_s_layo的no_toolbar 属性为X
或者不调用改方法,因为我是有function方法实现的ALV
只用以下代码刷新
CALL FUNCTION ‘GET_GLOBALS_FROM_SLVC_FULLSCR’
IMPORTING
e_grid = lv_grid.
CALL METHOD lv_grid->check_changed_data
IMPORTING
e_valid = lv_flag.
CHECK lv_flag IS NOT INITIAL.
rs_selfield-refresh = ‘X’."只要这个参数就可以自动刷新ALV的单元格
rs_selfield-col_stable = ‘X’.
rs_selfield-row_stable = ‘X’.