1

私が持っているのは、ajaxからの値が入力されたツリーグリッドです。30秒ごとにストアが更新され、新しいデータが表示されます。

ツリーグリッドセルの値が古いセルと異なる場合は、ツリーグリッドセルのスタイル(色または背景色)を変更する必要があります。要件は、javascriptから比較とスタイリングを行うことです。

これをどのように行うことができるかについてのアイデアはありますか?

4

1 に答える 1

0

dijit.Treeの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;
};

})();

以前の値を追跡するためのより良い方法があるかもしれませんが、あなたの店が変更されているので、私は本当にそれを考えることができません。

于 2011-11-02T04:00:06.420 に答える