利用get_data 入参IO_EXTENDED_CTRL
IO_EXTENDED_CTRL TYPE REF TO IF_FPM_LIST_ATS_EXT_CTRL OPTIONAL Provides extended List ATS specific configuration options
备注:该方法修改后ct_data 不能再排序,否则下拉值会显示错乱
设置的不同下拉值,应该是绑在页面的行上,如果打乱ct_data的顺序,下拉值会找不到ct_data 不同行的key值,
METHOD if_fpm_guibb_list~get_data.
FIELD-SYMBOLS:
<fv_value> TYPE any,
<ft_table> TYPE STANDARD TABLE.
DATA:
lv_tabix TYPE sy-tabix,
lt_row_set TYPE if_fpm_list_ats_value_set=>ty_t_set,
lo_value_set_handler TYPE REF TO if_fpm_list_ats_value_set.
ASSIGN ct_data TO <ft_table>.
lo_value_set_handler = io_extended_ctrl->get_value_set_handler( ).
LOOP AT <ft_table> ASSIGNING FIELD-SYMBOL(<fs_line>).
lv_tabix = sy-tabix.
ASSIGN COMPONENT 'UNAME' OF STRUCTURE <fs_line> TO <fv_value>.
IF <fv_value> IS ASSIGNED.
*用户名下拉
lt_row_set = VALUE #( ( key = <fv_value>
text = zfcl_in_0001=>get_user_name_by_sy_uname( <fv_value> ) ) ).
lo_value_set_handler->set_row_specific_value_set(
EXPORTING
iv_column_id = 'UNAME'
iv_row_index = lv_tabix
it_row_set = lt_row_set
).
ENDIF.
ENDLOOP.
ev_data_changed = abap_true.
ENDMETHOD.