2012-04-01 103 views
1

我有一個網格,每10秒(使用AJAX)重新配置(重新創建數據)。所以渲染器函數每10秒調用一次,並且我們有當前單元格的值。ExtJS 4:網格列渲染器舊值

如何比較當前數據與舊數據的值?或者簡單地說,我如何獲取渲染器功能中的舊數據?

如果我們無法訪問舊數據,是否有另一種解決方案來處理這個問題?

先謝謝您

回答

3

一旦存儲被加載,就無法獲取舊數據。有一兩件事你可以做的是聽在商店&緩存beforeload事件中的舊數據:

var oldData; 
myStore.on('beforeload', function() { 
    oldData = myStore.getRange(); // Grabs an array of all current records 
}); 

從這裏開始,渲染將通過在該行的索引作爲參數之一,所以你可以做一個比較:

renderer: function(v, meta, rec, rowIndex) { 
    var oldRec = oldData[rowIndex]; 
    // do your comparison 
} 

您還需要處理第一次加載的情況下,將沒有oldData。

+0

偉大的解決方案埃文,它的工作原理。謝謝。 – Natasha 2012-04-01 10:58:54