在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來實現。