Ext.grid.GridPanel,CheckboxSelectionModel的全选的问题

Ext.grid.CheckboxSelectionModel的小问题:
解决方法:

//监视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'); 	//CompositeElementLite/CompositeElement
    	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();
            }
        } 
	}

 

相关文章:

  • 2021-05-20
  • 2022-12-23
  • 2021-10-29
  • 2021-05-28
  • 2021-11-02
  • 2021-07-26
猜你喜欢
  • 2021-09-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
  • 2021-08-07
相关资源
相似解决方案