簡體   English   中英

Ext JS 4.2.1-帶分頁的網格-復選框狀態丟失

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM