[英]Ext JS 4.2.1 - grid with paging - checkbox state lost
我有一個ExtJS網格,該網格具有用於(遠程)分頁的PagingToolbar和一個定義為的復選框列:
{
dataIndex : 'selected',
xtype: 'checkcolumn',
width : 60
}
但是,如果我選中一個復選框,然后向前和向后翻頁,則不會保存復選框狀態-所有復選框均未選中。
我猜因為存儲只包含當前頁面(來自服務器)的數據,所以我需要某種方式來存儲不在當前數據頁面中的行的狀態,然后在返回該頁面時恢復復選框。
有最佳實踐,還是在分頁時將復選框狀態存儲在商店中的示例?
嗯,這是低級的工作,以至於沒有人考慮過為此做出“最佳實踐”。 例如
beforeload:function(store) {
if(!store.checkedItems) store.checkedItems = [];
store.each(function(item) {
store.checkedItems[item.get("Id")] = item.get("selected");
});
},
load:function(store) {
if(!store.checkedItems) store.checkedItems = [];
store.each(function(item) {
item.set("selected",store.checkedItems[item.get("Id")]);
});
}
要么
beforeload:function(store) {
if(!store.checkedItems) store.checkedItems = [];
store.each(function(item) {
store.checkedItems[item.get("Id")] = {selected: item.get("selected") }; // extensible if you want to keep more than one checkbox...
});
},
load:function(store) {
if(!store.checkedItems) store.checkedItems = [];
store.each(function(item) {
item.set(store.checkedItems[item.get("Id")]);
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.