ALV下拉框

使用set_drop_down_table 方法
ALV结构增加 要显示Listbox的字段 举例:Listbox
fieldcat字段设置
fieldcat-fieldname = ‘Listbox’
fieldcat-edit = 'X'.
fieldcat-drdn_field = 'DD_HANDLE'.
fieldcat-drdn_hndl  = '1'.

*定义存储下拉列表的数据
DATA :gt_ddval TYPE lvc_t_drop,
      gw_ddval TYPE lvc_s_drop.
*EVENT
DATA: i_events  TYPE slis_t_event,
      wa_events TYPE slis_alv_event.    

  wa_events-name = 'CALLER_EXIT'.
  wa_events-form = 'SET_LIST'.
  APPEND wa_events TO i_events.

*设置下拉列表,Grid和内表链接
*---------------------------------------------------------------------*
FORM set_list USING ls_caller_exit TYPE slis_data_caller_exit.
  DATA: o_grid TYPE REF TO cl_gui_alv_grid.
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = o_grid.

  CALL METHOD o_grid->set_drop_down_table
    EXPORTING
      it_drop_down = gt_ddval.

ENDFORM.                    "CALLER_EXIT

*生成下拉列表
*---------------------------------------------------------------------*
FORM creat_dropdown_values.

  CLEAR gw_ddval.
  gw_ddval-handle = '1'.
  gw_ddval-value  = '测试1'.
  APPEND gw_ddval TO gt_ddval.
    CLEAR gw_ddval.
  gw_ddval-handle = '1'.
  gw_ddval-value  = '测试2'.
  APPEND gw_ddval TO gt_ddval.
    CLEAR gw_ddval.
  gw_ddval-handle = '1'.
  gw_ddval-value  = '测试3'.
  APPEND gw_ddval TO gt_ddval.
  
  ENDFORM.                    " creat_dropdown_values


OOALV  
  FORM creat_dropdown_values.
  CALL METHOD o_grid->set_drop_down_table
        EXPORTING
          it_drop_down = gt_ddval.

    CALL METHOD  o_grid->set_table_for_first_display
      EXPORTING
        is_layout            = is_layout
        i_save               = 'A'
        is_variant           = is_variant
        it_toolbar_excluding = it_toolbar_excluding
      CHANGING
        it_fieldcatalog      = it_fieldcatalog[]
        "it_sort             = it_sort[]
        it_outtab            = gt_Alv[].

猜你喜欢

转载自blog.csdn.net/ABAP_NY/article/details/103619938
今日推荐