2012-09-12 30 views
2

我有點遺憾,只有很短的時間來解決它。我的問題是,我正試圖修復一個使用無限滾動的商店/網格的錯誤。當用戶嘗試對網格進行排序時,顯示「加載」消息,就是這樣。在使用remoteSort的商店類型上激發了什麼方法?

我已經把服務器端的斷點放回服務器,並且正確地傳遞了正確的列,但它並沒有關閉「加載」消息。

我正在尋找什麼事件,我應該在排序被解僱之前和之後的客戶端注意。我有負載,beforesync和幾乎所有其他商店(http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store)console.log語句也許在那裏是我需要在網格上傾聽的東西?

下面是從預取壓倒一切和console.logs日誌...

grid store event: ["beforeload", i, Object] 
pageSize = 100 
grid store event: ["beforeprefetch", i,i] 
before prefetch done 
proxy.read done 
end of prefetch 
grid panel event: ["sortchange", i, i, "DESC"] 
grid panel event: ["beforestatesave", i, Object] 
grid store event: ["totalcountchange", 2] BufferedStore.js:22 
grid store event: ["prefetch", i, Array[2], true,i] 

回答

1

的「sortchange」事件應該火的網格。 'beforeload'事件應該在對服務進行調用以獲取新數據之前觸發。 一旦數據從服務調用回來,'load'事件就會觸發。

爲了進一步調試,在創建網格並引用它之後,比如說'rolocGrid',然後可以使用Observable實用程序來監視網格上的所有事件以及它的存儲。

這個片段將寫入控制檯,每個事件給你洞察到在這個過程中會發生什麼:

Ext.util.Observable.capture(rolocGrid.store, function() { console.log('grid store event:', arguments)}, rolocGrid);           
Ext.util.Observable.capture(rolocGrid, function() { console.log('grid event:', arguments)}, rolocGrid); 
+0

甜感謝我會給這個,明天試試吧!我特別欣賞調試技巧。 – Roloc

+0

我附上了上面的預取輸出,你有什麼奇怪的嗎?它一路通過預取,但之後什麼都不會觸發?接下來應該是什麼?有沒有什麼我可以做的預取結束只是說它不再加載? – Roloc

+0

應該有商店發射的加載事件。沒有這個商店仍然認爲它正在等待數據。某些關於商店配置,視圖高度和返回的數據不能以某種方式匹配。沒有更多的訪問配置和響應數據很難知道。 –

相關問題