2015-09-30 38 views
0

我們使用EXT-JS 3.x.要從頁面選擇記錄,請使用selectRecords()方法。現在,我可以在瀏覽頁面時選擇記錄。但問題是,單擊「提交」按鈕時,應該可以看到跨頁面的所有選定記錄。但下面的代碼行grid.getSelectionModel().getSelections() 返回當前頁面中選定的記錄。 是否有任何選項可用於獲取所有選定的記錄?EXT JS 3.x中的頁面選擇

回答

0

不知道它是否適合您,但我可以建議您在商店中使用新列來指示是否選中該行。該列將是一個布爾值。您可以使用偵聽器rowselect和rowdeselect來設置它的值。 提交後,您將能夠查詢商店以獲取具有正確指標值的記錄。

例如:

var myStore = new Ext.data.JsonStore({ 
     fields: [{name:"col1", type:"string"}, {name:"INDICATOR", type:"'boolean'"}] 
    }); 
var myGrid = new Ext.grid.GridPanel({ 
    store: store, 
    columns: [...//Don't put the INDICATOR here 
    sm: new Ext.grid.RowSelectionModel({singleSelect: false}), 
     .... 
     listeners: { 
     rowselect: (e,index, record){ 
       record.data["INDICATOR"] = true; 
     }, 
     rowdeselect: (e,index, record){ 
       record.data["INDICATOR"] = false; 
     }, 
     .... 
    } 
}); 

在提交

var mySelection = myStore.query("INDICATOR", true); 

我希望我給你一個很好的例子,它不是複雜的。 我沒有測試我的代碼,所以也許你將不得不糾正一點點。

祝你好運!

+0

在每一行選擇和取消選擇,我已添加對象中選定的記錄。我沒有從grid.getSelectionModel()。getSelections()中檢索選擇,而是從我的對象中檢索選定的記錄。 – Saranya