我在 ALV 列表中显示了 2 行,其中一列具有域值。
如果我点击搜索帮助,它根本不会显示任何值。
我是否必须在课堂上激活某些东西才能查看任何域的值?
只有在通过 Dictionary 结构创建 ALV 时才会显示自动搜索帮助(也称为域值),这就是为什么使用 是不可能的cl_salv_table
,因为它只接受内部表。但是,它具有分配 F4 值的特殊方法set_ddic_reference
。
DATA: lr_column TYPE REF TO cl_salv_column_table,
lr_columns TYPE REF TO cl_salv_columns_table.
DATA: ls_ddic type salv_s_ddic_reference.
lr_columns = o_alv->get_columns( ).
lr_column ?= lr_columns->get_column( columnname = 'MANDT' ).
ls_ddic-table = 'T001'.
ls_ddic-field = 'MANDT'.
lr_column->set_ddic_reference( ls_ddic ).
lr_column->set_f4( abap_true ).
此代码应在工厂构造函数之后和display()方法之前调用。