OO ALV 用户过滤数据后…

ALV显示后,如果用户做了筛选,然后点击全选或者取消全选,不应该影响过滤掉的数据
OO <wbr>ALV <wbr>用户过滤数据后点全选 <wbr>全部取消选择的处理方法
主要代码:
gr_alvgrid  TYPE  REF  TO cl_gui_alv_grid ,  

  METHODhandle_user_command.
 
   
DATA: lv_cont            TYPE i,
          lv_tabix          
TYPE sy-tabix.
 
        
DATA: lt_filtered        TYPE lvc_t_fidx.
 
   
CASE e_ucomm.
     
WHEN 'ALL'.
       
CALL METHOD gr_alvgrid->get_filtered_entries
         
IMPORTING
            et_filtered_entries
= lt_filtered.
 
       
LOOP AT it_tabla INTOwa_tabla.
          lv_tabix
= sy-tabix.
         
READ TABLE lt_filtered WITH KEYTABLE_LINE = lv_tabix TRANSPORTING NO FIELDS.
         
IF sy-subrc NE 0.
           
wa_tabla-checkbox = 'X'.
           
MODIFYit_tabla FROM wa_tabla INDEX lv_tabix.
         
ENDIF.
       
ENDLOOP.
 
     
WHEN 'NONE'.
       
CALL METHOD gr_alvgrid->get_filtered_entries
         
IMPORTING
            et_filtered_entries
= lt_filtered.
 
       
LOOP AT it_tabla INTOwa_tabla.
          lv_tabix
= sy-tabix.
         
READ TABLE lt_filtered WITH KEYTABLE_LINE = lv_tabix TRANSPORTING NO FIELDS.
         
IF sy-subrc NE 0.
           
CLEAR  wa_tabla-checkbox.
           
MODIFYit_tabla FROM wa_tabla INDEX lv_tabix.
         
ENDIF.
       
ENDLOOP.
 
   
ENDCASE.
 
        
CALL METHOD gr_alvgrid->refresh_table_display.
 
ENDMETHOD.                           "handle_user_command


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值