今天发现公司产品用的EXTJS中使用Grid时,Grid表头中的全选复选框的选中状态不是很准确,就写了这个小扩展
在js中加入下面方法,在需要取消全选的地方调用即可,例:Ext.getCmp('grid').unSelectAll 或 gridName.unSelectAll();
// 自定义扩展:将Grid表头中的全选复选框取消复选
Ext.grid.GridPanel.prototype.unSelectAll = function(){
var view = this.getView();
var sm = this.getSelectionModel();
if(sm){
sm.clearSelections();
var hd = Ext.fly(view.innerHd);
var c = hd.query('.x-grid3-hd-checker-on');
if(c && c.length>0){
Ext.fly(c[0]).removeClass('x-grid3-hd-checker-on')
}
}
}
对你的Grid调用unSelectAll()就可以将GridPanel表头中的全选复选框取消选中状态,具体何时调用这个方法就自己决定吧