Abap 使用下拉菜单允许ALV网格单元格中的自由文本

Abap 使用下拉菜单允许ALV网格单元格中的自由文本,abap,alv,Abap,Alv,我已经为ALV网格单元设置了一个下拉列表。dropdow工作正常,但它只允许从下拉列表中输入值。是否允许在单元格中输入自由文本 我的ABAP代码是: 创建值列表: DATA: lt_dropdown TYPE lvc_t_dral, ls_dropdown TYPE lvc_s_dral. data: ls_taba TYPE dd07v, lt_taba TYPE STANDARD TABLE OF dd07v, lt_tabb TYPE STANDARD

我已经为ALV网格单元设置了一个下拉列表。dropdow工作正常,但它只允许从下拉列表中输入值。是否允许在单元格中输入自由文本

我的ABAP代码是:

创建值列表:

DATA: lt_dropdown TYPE lvc_t_dral,
      ls_dropdown TYPE lvc_s_dral.
data: ls_taba TYPE dd07v,
      lt_taba TYPE STANDARD TABLE OF dd07v,
      lt_tabb TYPE STANDARD TABLE OF dd07v.

CALL FUNCTION 'DD_DOMA_GET'
  EXPORTING
    DOMAIN_NAME         = 'ZBC_TRADE_NETWORK'
    LANGU               = SY-LANGU
    WITHTEXT            = 'X'
 TABLES
    DD07V_TAB_A         = lt_taba
    DD07V_TAB_N         = lt_tabb
 EXCEPTIONS
    ILLEGAL_VALUE       = 1
    OP_FAILURE          = 2
    OTHERS              = 3
        .

 IF SY-SUBRC <> 0.
   return.
 ENDIF.

loop at lt_taba into ls_taba.
  ls_dropdown-handle = '1'.
  ls_dropdown-int_value = ls_taba-domvalue_l.
  ls_dropdown-value = ls_taba-ddtext.
  APPEND ls_dropdown TO lt_dropdown.
endloop.

*method to display the dropdown in ALV
CALL METHOD go_grid->set_drop_down_table
  EXPORTING
    IT_DROP_DOWN_ALIAS = lt_dropdown.
DATA:lt_下拉式lvc_t_dral,
ls_下拉式lvc_s_dral。
数据:ls_taba dd07v型,
dd07v lt_-taba型标准表,
dd07v的lt_tabb型标准表。
调用函数“DD_DOMA_GET”
出口
域名='ZBC_贸易网络'
LANGU=SY-LANGU
WITHTEXT='X'
桌子
DD07V_TAB_A=lt_taba
DD07V_TAB_N=lt_tabb
例外情况
非法_值=1
OP_故障=2
其他=3
.
如果SY-SUBRC为0。
返回。
恩迪夫。
在上塔巴循环到下塔巴。
ls_下拉句柄='1'。
ls\u下拉列表-int\u value=ls\u taba-domvalue\l。
ls_dropdown-value=ls_taba-ddtext。
将ls\u下拉列表附加到lt\u下拉列表。
结束循环。
*方法在ALV中显示下拉列表
调用方法go\u grid->set\u drop\u down\u table
出口
它\u DROP\u DOWN\u ALIAS=lt\u dropdown。
填写现场目录:

data: ls_fcat type lvc_s_fcat,
      lt_fcat type lvc_t_fcat.

field-symbols: <lfs_fcat> type ls_fcat.

call function 'LVC_FIELDCATALOG_MERGE'
    exporting
      i_structure_name = gc_struct_name
    changing
      ct_fieldcat      = lt_fcat
    exceptions
      others           = 1.

loop at lt_fcat assigning <lfs_fcat>.
  case <lfs_fcat>-fieldname.  
    when 'NETWORK'.
      <lfs_fcat>-drdn_hndl = '1'.
      <lfs_fcat>-drdn_alias = 'X'.
      <lfs_fcat>-edit = abap_on.
  endcase.
endloop.
data:ls_fcat类型lvc_s_fcat,
lt_fcat类型lvc_t_fcat。
字段符号:键入ls_fcat。
调用函数“LVC\u FIELDCATALOG\u MERGE”
出口
i_structure_name=gc_struct_name
改变
ct\U fieldcat=lt\U fcat
例外情况
其他=1。
在lt_fcat赋值时循环。
case-fieldname。
当“网络”出现时。
-drdn_hndl='1'。
-drdn_别名='X'。
-edit=abap\u on。
尾声。
结束循环。
设置显示的ALV栅格

go_grid->set_table_for_first_display(
  exporting
    i_save               = lf_save
    i_default            = lf_default
    is_variant           = ls_vari
    is_layout            = ls_layo
    it_toolbar_excluding = lt_excl
  changing
    it_outtab            = <lfs_t_data>
   it_fieldcatalog       = lt_fcat
  exceptions
    others               = 1
).
go\u grid->set\u table\u用于首次显示(
出口
i_save=lf_save
i\u默认值=lf\u默认值
is_variant=ls_vari
is_layout=ls_layou
it_工具栏_排除=lt_排除
改变
it_outtab=
it_fieldcatalog=lt_fcat
例外情况
其他=1
).

否。下拉字段表示固定值集。如果希望同时具有值目录和文本编辑功能,请使用值帮助(F4帮助)实现目录访问