ExtJS 4: Рендерер Grid Column Old Value - PullRequest
1 голос
/ 01 апреля 2012

У меня есть сетка, которая переконфигурирует (ссылается на данные) каждые 10 секунд (с AJAX). Таким образом, функция визуализации вызывается каждые 10 секунд, и у нас есть значение текущей ячейки.

Как я могу сравнить значение текущих данных со старыми данными? Или просто, как я могу получить старые данные в функции рендерера?

Если мы не можем получить доступ к старым данным, есть ли другое решение для этого?

Заранее спасибо

1 Ответ

3 голосов
/ 01 апреля 2012

После загрузки магазина невозможно получить старые данные. Одна вещь, которую вы можете сделать, это прослушать событие 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
}

Вам также нужно будет обработать случай первой загрузки, когда не будет старых данных.

...