行删除后刷新SALV过滤器

2020-08-27 05:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我创建了一个使用SALV(cl_...

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

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


我创建了一个使用SALV(cl_salv_table)和自定义用户状态的报告。 这使我可以在顶部放置一个名为" DELETE"的按钮。 如果用户选择SALV的一行或多行,我将在我的内部表中将其删除。 如果用户过滤了事先显示的数据,则在刷新方法(完整)之后将不执行此过滤器。

我的解决方案是在执行refresh方法之前,先读取过滤器,将其清除并添加回去。 但是,没有其他方法可以将其存档吗? 刷新(完全模式)并不能单独解决问题。

数据:lt_filters类型salv_t_filter_ref,
           lt_seltopt类型salv_t_selopt_ref。
     lt_filters = mr_alv-> get_filters()-> get()。
     mr_alv-> get_filters()-> clear()。
     循环到lt_filters分配字段符号()。
       lt_seltopt =  -r_filter-> get()。
       在lt_seltopt分配字段符号()中循环。
         mr_alv-> get_filters()-> add_filter(列名= -列名
                                             符号= -> get_sign()
                                             选项= -> get_option()
                                             低= -> get_low()
                                             高= -> get_high()。
       结局。
     结局。
 
     mr_alv->刷新(refresh_mode = if_salv_c_refresh => full)。
 

最诚挚的问候,

罗兰