太長,我有一個新的問題今日(第一個:ExtJS 4.1 How to create a window with grid dynamically)ExtJS的4.1網格面板加載有超過10,000項
因此,要恢復我的應用程序是顯示關於汽車的數據。我打開我的所有汽車(超過10K)是這樣的:
Ext.create('Ext.data.Store', {
storeId: 'CarStore',
model: 'Car_Model',
proxy: {
type: 'ajax',
url: './cars.json',
reader: 'json'
},
autoLoad: {
callback: displayMenu
}
});
我displayMenu
功能顯示一個菜單,像這樣的按鈕:
- Brand1
- Model1
- Model2
- Brand2
-Model1
- Etc
- All Cars
所以,當我創建我的按鈕(取決於品牌/型號中我的JSON店)我這樣做(對於爲例模型按鈕):
var CarStore = Ext.data.StoreManager.lookup('CarStore');
var aCarButton= Ext.create('Ext.Button', {
text: myModelText,
handler: function(button, e) {
var grid = Ext.create("CarsGrid", { store: CarStore });
grid.filterByModel(myModelText);
var win = Ext.create("CarsWindow", { title: myModelText, items: [ grid ] });
win.show();
}
});
aMenuPanel.add(aAircraftButton);
因此,當我點擊一個按鈕,顯示所有的汽車在一個網格,在窗口的品牌/型號。
我的問題是顯示我的數據之前的加載需要約5秒的模型,10個品牌和2分鐘的所有我的車。
PS:我用的是同一家商店爲我的按鈕創建和所有網格顯示,但有一個過濾器(品牌,型號,或無)就像你在grid.filterByModel(myModelText);
看在我以前的答案VoidMain建議我使用buffered: true
但是當我點擊一個按鈕時會產生錯誤。
想要在瀏覽器中加載10k條記錄嗎?祝你好運,要麼使用分頁或緩衝。 –
是的,我知道這是完全瘋狂的,但我不知道如何使用緩衝模式。 – dgedge03
在我看來,4.1中的緩衝網格仍然有點bug,我個人使用分頁。但是如果你想使用緩衝網格,那麼這是一個很好的起點:看看這些文件,看看它們是如何做到的。 http://docs.sencha.com/ext-js/4-1/#!/example/grid/buffer-grid.html請記住,您的商店將會像調頁一樣調用您的後端(發送start en limit參數)。 –