CheckboxSelectionModel全选后,点击下一页时还原到未选中状态

在Grid的中使用了CheckboxSelectionModel的时候会发现,在当前页选中了全选按钮,再点击分页按钮时,在新的一页里,header上的全选按钮还是处于选择状态的,下面演示一个笨一点方法:

 

1、在store里加入监听数据变化事件

 

var ds = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({url:url,form:ff,method:'post'}),
    totalProperty:"totalCount", 
// 这里添加监听数据变化的事件,如果数据发生变休,触发清空checkbox函数
   listeners:{datachanged:clearAllSelectedCheckbox},
    reader:new Ext.data.JsonReader(
	{	root:'result',
		id:'id',
		totalProperty: 'totalCount'
	}, 
	[
		{name:"id"},
		{name:"remark"},
		{name:"domain"},
		{name:"name"}
	
						
)});

 

2、Grid的columns 和生成grid部分的代码就不在这里写了,跟正常情况下的写法一致,分页栏PagingToolbar。

3、clearAllSelectedCheckbox实现代码:

function clearAllSelectedCheckbox(){
	var hd = Ext.fly(grid.getView().innerHd).child('div.x-grid3-hd-checker');
	hd.removeClass('x-grid3-hd-checker-on');
	grid.getSelectionModel().clearSelections();
}

 

 

还可以通过重写PagingToolbar来实现。

你可能感兴趣的:(css,ext)