私が持っているのは、ajaxからの値が入力されたツリーグリッドです。30秒ごとにストアが更新され、新しいデータが表示されます。
ツリーグリッドセルの値が古いセルと異なる場合は、ツリーグリッドセルのスタイル(色または背景色)を変更する必要があります。要件は、javascriptから比較とスタイリングを行うことです。
これをどのように行うことができるかについてのアイデアはありますか?
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;
};
})();
以前の値を追跡するためのより良い方法があるかもしれませんが、あなたの店が変更されているので、私は本当にそれを考えることができません。