在oop abap alv网格显示中选择和取消选择功能

2020-09-01 17:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)数据:wa_out TYPE t...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


数据:wa_out TYPE ty_out,"用于显示的输出表

i_filter_entries类型lvc_t_fidx,"过滤的条目
l_tabix类型sy-tabix,"索引
l_valid类型c,"标志
ls_stable类型lvc_s_stbl。" WA for LVC_S_STBL注意-1. g_grid是对象引用 对于CL_GUI_ALV_GRID类。 2. it_out是要显示的内部表。 调用方法g_grid-> check_changed_data
导入
e_valid = l_valid。 如果l_valid EQ'X'。 调用方法g_grid-> get_filtered_entries
导入
et_filtered_entries = i_filter_entries。 循环至it_out INTO wa_out。
l_tabix = sy-tabix。
从l_tabix读取表i_filter_entries传输没有字段。

如果sy-subrc不是INITIAL。
wa_out-chk ='X'。
从wa_out TRANSPORTING chk修改it_out索引l_tabix。
ENDIF。
ENDLOOP。 ls_stable-row ='X'。
ls_stable-col ='X'。 调用方法g_grid-> refresh_table_display
导出
is_stable = ls_stable。 万一。

怀疑:通过使用上面的代码,它选择了每个复选框,但是当我取消选中复选框并再次单击自定义工具栏上的选择按钮时,它没有选中该复选框。如果手动取消选中该复选框并单击选择按钮,则它不起作用并且 还提供了有关取消选择所有值(源代码)的说明,以便更好地理解。谢谢。