Abap 使用下拉菜单允许ALV网格单元格中的自由文本
我已经为ALV网格单元设置了一个下拉列表。dropdow工作正常,但它只允许从下拉列表中输入值。是否允许在单元格中输入自由文本 我的ABAP代码是: 创建值列表: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
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帮助)实现目录访问