在ExtJS中,如何在顯示網格時加載商店?我希望商店只在顯示網格時加載(用戶單擊按鈕顯示網格,因此預先加載商店是浪費)。我嘗試了afterrender
偵聽器,但它會將加載掩碼渲染到錯誤的位置,並且每當網格調整大小時,afterlayout
偵聽器都會重新加載網格。在ExtJS中,如何在顯示網格時加載商店?
7
A
回答
13
這是可能會讓人難以完成的事情之一,因爲一次給瀏覽器提供太多的幫助(特別是在IE中)。
我喜歡使用延遲的組合來讓瀏覽器恢復足夠長的時間以正確渲染事物。
var grid = new Ext.grid.GridPanel({
...,
listeners : {
render : function(grid){
grid.body.mask('Loading...');
var store = grid.getStore();
store.load.defer(100, store);
},
delay: 200
}
});
玩延遲值/推遲值應該會給你想要的結果。您需要延遲/推遲的時間長短取決於網格的複雜程度和瀏覽器的速度。
還記得當您的商店的加載完成時刪除面具。
listeners: {
load: function(){
yourGrid.body.unmask();
}
}
注:就在幾個澄清由勞埃德答案 - 你並不需要自動加載設置爲false,因爲這是默認的(即:不設置它在所有),它聽起來像是你的描述你想使用商店裝載方法,而不是重新加載。
0
您可以將商店的autoLoad設置爲false,然後調用store.reload();當用戶點擊按鈕顯示網格時。
+2
這是有效的,但這意味着網格不負責自己的商店。如果您跨多個組件共享商店,那很好,但對於單個網格,我寧願讓網格負責存儲加載。 – 2010-02-10 18:15:01
2
您是否考慮過處理activate
事件?您可以添加一個事件處理程序,該事件處理程序在activate
事件中加載數據,然後自行刪除。
this.on('activate', function(){
this.un('activate', arguments.callee);
this.store.load();
}, this);
這裏this
指GridPanel
。
相關問題
- 1. ExtJS網格未顯示商店數據
- 2. Extjs 4.2.2 Ext.Window.Show未顯示在商店中加載的數據
- 3. ExtJS商店/網格重置
- 4. 如何重新加載extjs商店?
- 5. 如何在加載商店時選擇extjs 3.4組合?
- 6. ExtJS的:隱藏列的網格表示在商店的數據重新加載
- 7. 用ExtJS加載商店時出錯
- 8. 如何在Magento網格中顯示商店名稱
- 9. ExtJS的 - 如何在商店
- 10. 在ExtJs中加載商店後,如何從函數返回值?
- 11. extjs顯示來自兩個不同商店的網格記錄?
- 12. Extjs網格和本地商店在網格中創建重複項,同時更新商店
- 13. 如何在extjs中過濾商店?
- 14. 如何在商店中插入值extjs
- 15. 如何在ExtJS 4.1中銷燬商店?
- 16. Extjs商店不填補網格線
- 17. ExtJS 4動態更改網格商店
- 18. Extjs 3.2。網格視圖商店相關
- 19. ExtJS 2.3/3.x網格商店
- 20. Extjs不顯示從商店的數據
- 21. ExtJS等待多家商店加載
- 22. Extjs商店不加載數據
- 23. extjs ajax呼叫商店未加載
- 24. ExtJS商店 - 僅加載JSON一次
- 25. Extjs批量加載多個商店
- 26. ExtJS的商店不加載從代理
- 27. 如何在extjs中使用不同網址的同一商店
- 28. ExtJS的網格空店,在添加/插入只顯示最新記錄添加
- 29. 問題加載json商店在extjs 4.0中形成
- 30. 在Extjs 4的商店中加載監聽器不工作
這是一個很好的方法,但如果你發現你真的需要它,我只會應用遮罩。如果加載速度太快,那麼面罩可能看起來像閃爍。此外,請確保您在商店的加載事件處理程序中取消屏蔽。佈局瀏覽器組合示例「帶有嵌套佈局的選項卡」在其內部網格中使用此存儲裝載的渲染方法:http://www.extjs.com/deploy/dev/examples/layout-browser/layout-browser.html – 2010-02-10 14:53:53
我同意Brian的評論 - 如果您的數據在不到5秒的時間內恢復,請不要這樣做。用戶永遠不會注意到它。 添加了關於刪除面具的消息,謝謝。 – 2010-02-10 15:01:39
不錯的一個..只是想知道,'延遲:200'有什麼用?這是必要的嗎? – Gugan 2015-01-06 09:43:01