今天有个新问题(第一个:ExtJS 4.1 How to create a window with grid dynamic)
因此,恢复我的应用程序是显示有关汽车的数据。我像这样加载我所有的汽车(超过 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
,但是当我单击时会产生错误一个按钮。