ooalv设置单元格下拉

在编辑ooalv的时候,有写单元格的值是一些固定的值,比如借贷标
识S,H,此时可以设置单元格的属性为下拉。实现步骤如下:

1.展示内表添加控制句柄

TYPES : BEGIN OF T_SHOW,
  SHKZG     LIKE BSEG-SHKZG,      "借贷标识
  DD_HNDL   TYPE INT4,            "控制下拉字段
END OF T_SHOW.

2.设置fieldcat时指定句柄

      WHEN 'SHKZG'.
        "设置下拉字段
        WA_FIELDCAT-DRDN_FIELD  = 'DD_HNDL'.
        WA_FIELDCAT-DRDN_HNDL   = '1' .

3.设置下拉值

*&-----------------------------------------------------*
*&      Form  PRE_DROP_LIST
*&-----------------------------------------------------*
*       text  设置下拉字段值
*------------------------------------------------------*
FORM PRE_DROP_LIST .
  "下拉字段
  DATA : IT_LIST   TYPE LVC_T_DROP,
         WA_LIST   TYPE LVC_S_DROP.
  "设置ALV下拉字段的值
  IF IT_LIST IS INITIAL.
    WA_LIST-HANDLE = '1'.
    WA_LIST-VALUE  = 'S'.
    APPEND WA_LIST TO IT_LIST.
    CLEAR : WA_LIST.
    WA_LIST-HANDLE = '1'.
    WA_LIST-VALUE  = 'H'.
    APPEND WA_LIST TO IT_LIST.
    CLEAR : WA_LIST.
  ENDIF.
  "调用函数设置值
  CALL METHOD GF_ALV_GRID->SET_DROP_DOWN_TABLE
     EXPORTING
        IT_DROP_DOWN = IT_LIST .

ENDFORM.

4.调用设置下拉的form

    注:在设置了fieldcat之后调用

    "设置下拉字段值
    PERFORM PRE_DROP_LIST.

你可能感兴趣的:(sap,OOALV)