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

2020-09-01 17:42发布

         点击此处--->   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。 万一。

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

         点击此处--->   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。 万一。

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

付费偷看设置
发送
3条回答
我是小鹏鹏啊
1楼-- · 2020-09-01 18:18

也许您未选中的行不再在filtered_entries中。 您应该调试以找出答案。 而且我看不到循环的任何含义,然后阅读然后检查sy-subrc ...您只需要修改...传输复选框字段即可。

huskylover
2楼-- · 2020-09-01 18:11

您好 Karthik Sekar

Sandra Rossi 建议,请使用CODE按钮,然后将您的代码粘贴进去,这将使我们更容易理解!

也请让我们知道 您的报告中,您在程序中的哪个位置编写了此代码?

注意事项

zhangjiyang1323
3楼-- · 2020-09-01 17:59

您好, Karthik Sekar

请确认您是否使用过此方法:

是否使用g_grid-> set_selected_rows(it_index_rows = lt_index_rows)?

关于

Pallavi Andole

一周热门 更多>