Ext中ext:CheckboxSelectionModel 的checkbox有时候不会去掉选中的方法

使用ext:CheckboxSelectionModel 有个时候莫名其妙的不能清空所选中的checkbox,即使在ext:GridPanel设置了SelectionMemory="Disabled" 属性也一样,就仿照下面的选择所有写了一个清空的。

//自动判断是否全选并选中或不选中表头的checkbox
function autoCheckGridHead(){
var hd_checker = grid.getEl().select('div.x-grid3-hd-checker'); //CompositeElementLite/CompositeElement
    var hd = hd_checker.first(); //呵呵,终于搞定了,这句测了好久,才找对对象;
    if(hd != null){ 
    if(grid.getSelectionModel().getSelections().length != grid.getStore().getCount()){    //没有全选的话
                //清空表格头的checkBox  
                if(hd.hasClass('x-grid3-hd-checker-on')){
                hd.removeClass('x-grid3-hd-checker-on');     //x-grid3-hd-checker-on
                //grid.getSelectionModel().clearSelections();
            }
            }else{
            if(grid.getStore().getCount() == 0){ //没有记录的话清空;
            return;
            }
            hd.addClass('x-grid3-hd-checker-on');
                grid.getSelectionModel().selectAll();
            }
        }
}

上面这个是网上常见的选择所有的checkbox方法,但目前有需要,就是选中之后不能自动去掉所选中的checkbox,所以做了如下的:

 function ClearChecker()
      {
      var grid=Ext.getCmp("GridResourceList");
        var hd_checker = grid.getEl().select('div.x-grid3-hd-checker'); //CompositeElementLite/CompositeElement
            var hd = hd_checker.first(); 

            if(hd != null){ 
          
                 hd.addClass('x-grid3-hd-checker-on');
                  hd.removeClass('x-grid3-hd-checker-on'); //这个是去掉上面标题中的
                 grid.getSelectionModel().clearSelections();//这个是清空所有的,为不选中
                                     //grid.getSelectionModel().selectAll();这个是设置选中所有的
                    
                  }

      }

 

前台调用直接调用函数就可以了,如果要在cs中调用也简单,在你操作的方法中

ScriptManager1.ScriptManager.AddScript("ClearChecker();");

其中ScriptManager1是页面

 <ext:ScriptManager ID="ScriptManager1" runat="server" AjaxMethodNamespace="ResourceAuditNamespace">
 </ext:ScriptManager>

的ID;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值