ExtJs CheckboxSelectionModel 全选操作后 清空表格头的checkBox

 

extjs 全选后点击删除后 全选框仍然还选中,应该删除后全选框应该不选中。

 

 

解决方法:

在删除事件中加入以下方法:

function autoCheckGridHead(){
  var hd_checker = Ext.getCmp("grid-sysmsg").getEl().select('div.x-grid3-hd-checker');  

     var hd = hd_checker.first(); 
     //清空表格头的checkBox  
     if(hd.hasClass('x-grid3-hd-checker-on')){
                 hd.removeClass('x-grid3-hd-checker-on');
                 }
                 
 }


下面是一段我在网上看到的代码,可以参考一下。

解决方法:

//监视Store数据是否变化, 进行一些其它处理;

pl_store.on('datachanged', function() {
 var hd = pl_grid.getEl().select('div.x-grid3-hd-checker');
 if (pl_grid.getSelectionModel().getSelections().length != pageCount) { // 没有全选的话
  // 清空表格头的checkBox
  if (hd.hasClass('x-grid3-hd-checker-on')) {
   hd.removeClass('x-grid3-hd-checker-on'); // x-grid3-hd-checker-on
  }
 } else {
  if (!hd.hasClass('x-grid3-hd-checker-on')) {
   hd.addClass('x-grid3-hd-checker-on'); // x-grid3-hd-checker-on
  }
 }
});

以前写的这个实现(上面一段代码)有问题

pl_grid.getEl().select('div.x-grid3-hd-checker'); 

找错element了,呵呵,可能导致Grid头的checkbox不可用;

请参考下边这个实现:

 //自动判断是否全选并选中或不选中表头的checkbox
 function autoCheckGridHead(){
  var hd_checker = grid_taskQueryPop.getEl().select('div.x-grid3-hd-checker');  

     var hd = hd_checker.first(); 
     if(hd != null){ 
      if(grid_taskQueryPop.getSelectionModel().getSelections().length != 

                grid_taskQueryPop.getStore().getCount()){ 
                //清空表格头的checkBox  
                if(hd.hasClass('x-grid3-hd-checker-on')){
                 hd.removeClass('x-grid3-hd-checker-on');     //x-grid3-hd-checker-on
                 //grid_taskQueryPop.getSelectionModel().clearSelections();
             }
            }else{
             if(grid_taskQueryPop.getStore().getCount() == 0){ //没有记录的话清空;
              return;
             }
             hd.addClass('x-grid3-hd-checker-on');
                grid_taskQueryPop.getSelectionModel().selectAll();
            }
        }
 }


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值