ALV 按钮事件后自动刷新列宽度

WHEN 'SCRAP'."按钮事件

      PERFORM SAVE_DATA.
      PERFORM RE_ALV."刷新ALV
FORM RE_ALV.
  DATA:LV_GRID   TYPE REF TO CL_GUI_ALV_GRID,
       LS_LAYOUT TYPE LVC_S_LAYO."这一句很关键
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      E_GRID = LV_GRID.
* 获取ALV变化过后的布局参数
  CALL METHOD LV_GRID->GET_FRONTEND_LAYOUT
    IMPORTING
      ES_LAYOUT = LS_LAYOUT.

* 重新回写自适应宽度
  LS_LAYOUT-CWIDTH_OPT = 'X'.
* 回写ALV变化过后的布局参数
  CALL METHOD LV_GRID->SET_FRONTEND_LAYOUT
    EXPORTING
      IS_LAYOUT = LS_LAYOUT.

* 刷新ALV布局
  CALL METHOD LV_GRID->REFRESH_TABLE_DISPLAY.

ENDFORM.

上面是FM-ALV的刷新。

下面是OO-ALV的刷新。

自行百度 ,网上很多。。。

原文地址:https://www.cnblogs.com/BruceKing/p/13523247.html