【实用】ALV 清单右击隐藏列失效的处理

ALV OO中右击显示列进行隐藏列处理,但是右击后发现无效,该如何处理?

其实问题出在创建“ALV grid container” 这里。

问题代码:

"Create ALV grid container
    PERFORM CREATE_GRID_CONTAINER USING GV_CONT_BODY GV_GRID ABAP_TRUE.

*&---------------------------------------------------------------------*
*&      Form  create_grid_container
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_PARENT   text
*      -->PO_GRID    text
*      -->P_APPL     text
*----------------------------------------------------------------------*
FORM CREATE_GRID_CONTAINER USING  P_PARENT
                PO_GRID_BODY TYPE REF TO LCL_ALV_GRID
                                  P_APPL.

  CHECK PO_GRID_BODY IS INITIAL.
  CREATE OBJECT PO_GRID_BODY
    EXPORTING
      I_PARENT      = P_PARENT
      I_APPL_EVENTS = P_APPL. 


ENDFORM.                    " CREATE_GRID_CONTAINER

在生成CL_GUI_ALV_GRID实例时,构造器参数I_PARENT是必需的,这一点毋庸置疑的,但这里对I_APPL_EVENTS赋值为X,则不会按照系统的标准来执行,即要对ALV 的功能进行扩展。

  • 'X' -> APP EVENT
  • ' ' -> SYSTEM EVENT

修正代码:

"Create ALV grid container
    PERFORM CREATE_GRID_CONTAINER USING GV_CONT_BODY GV_GRID ABAP_TRUE. 

*&---------------------------------------------------------------------*
*&      Form  create_grid_container
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_PARENT   text
*      -->PO_GRID    text
*      -->P_APPL     text
*----------------------------------------------------------------------*
FORM CREATE_GRID_CONTAINER USING  P_PARENT
                PO_GRID_BODY TYPE REF TO LCL_ALV_GRID
                                  P_APPL.

  CHECK PO_GRID_BODY IS INITIAL.

  CREATE OBJECT PO_GRID_BODY
    EXPORTING
      I_PARENT          = P_PARENT
    EXCEPTIONS
      ERROR_CNTL_CREATE = 1
      ERROR_CNTL_INIT   = 2
      ERROR_CNTL_LINK   = 3
      ERROR_DP_CREATE   = 4
      OTHERS            = 5.

ENDFORM.                    " CREATE_GRID_CONTAINER

猜你喜欢

转载自blog.csdn.net/zhongguomao/article/details/108781410
alv