Измените стиль ячейки дерева сетки додзё при изменении значения - PullRequest
1 голос
/ 31 октября 2011

У меня есть сетка деревьев, заполненная значениями из ajax. Каждые 30 секунд магазин обновляется и отображаются новые данные.

Мне нужно изменить стиль (цвет или цвет фона) ячейки древовидной сетки, когда ее значение отличается от старого. Требование состоит в том, чтобы сделать сравнение и стилизацию из JavaScript.

Есть идеи, как это можно сделать?

1 Ответ

0 голосов
/ 02 ноября 2011

Вы можете использовать метод dijit.Tree's getRowStyle для динамического изменения стиля.Он будет вызываться всякий раз, когда необходимо отобразить строку.

Что-то вроде этого может помочь вам начать:

(function(){ // closure for private variables

var previousValues = {};

var myTree = ... // lookup dijit.Tree via dijit.byId, or create

myTree.getRowStyle = function(item){
    var style = {};
    var itemId = myTree.store.getIdentity(item);
    var newValue = myTree.store.getValue(item, "MY_ITEM_VALUE");
    if(newValue !== null &&
            previousValues[itemId] !== null &&
            previousValues[itemId] !== newValue) {
        style.backgroundColor = "#0000FF";
        previousValues[itemId] = newValue;
    }
    return style;
};

})();

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

...