我是新手,我没有在互联网上找到解决方案,这对我有用。
因此。我有一个表,用alv显示。我在工具栏中创建了一个自定义按钮。每当按下按钮,我想删除所选行。现在只显示一条消息(所以我可以看到自定义按钮是否正常工作)。这是我的代码:
METHOD on_user_command.
CASE e_salv_function.
WHEN 'MYFUNC1'.
MESSAGE i301(z_global) WITH 'Function 1'.
*Right here the row should be deleted.
WHEN 'MYFUNC2'.
MESSAGE i301(z_global) WITH 'Function 2'.
WHEN OTHERS.
ENDCASE.
ENDMETHOD.
答案 0 :(得分:0)
这是删除所选行的示例代码:
CASE e_salv_function.
WHEN 'MYFUNC1'.
PERFORM delete_lines.
...
ENDCASE.
form delete_lines.
data: sav_tabix type lvc_index.
clear row_table.
call method grid1->get_selected_rows( et_index_rows = data(row_table) ).
loop at gt_outtab.
sav_tabix = sav_tabix + 1.
read table row_table with key index = sav_tabix.
if sy-subrc = 0.
delete gt_outtab INDEX sav_tabix.
endif.
endloop.
call method grid1->refresh_table_display.
call method cl_gui_cfw=>flush.
endform.