1、调用grid中refresh_table_display函数刷新alv。
在abap中,用cl_gui_alv_grid显示alv时,默认会有显示数据缓存,当后退并再次进入alv显示时,SAP为了提高alv加载速度,会显示缓存数据,如果需要更新alv,别忘了在第一次调用set_table_for_first_display函数之后,调用refresh_table_display函数进行刷新,这样就可以更新alv了,refresh_table_display函数输入表中有两个字段分别是ls_stbl-row与ls_stbl-col,表示基于行的稳定刷新与基于列的稳定刷新,赋值X即可。
(1)第一次调用set_table_for_first_display显示alv
(2)后续刷新alv调用
DATA: ls_stbl TYPE lvc_s_stbl.
ls_stbl-row = 'X'. "基于行的稳定刷新
ls_stbl-col = 'X'. "基于列稳定刷新
CALL METHOD g_grid->refresh_table_display
EXPORTING
is_stable = ls_stbl.
2、注意点:在form块中时,alv显示数据需要在调用set_table_for_first_display的form块之外获得到,不然刷新alv显示refresh_table_display函数是会失败的,切记。