1
我所擁有的是填充了ajax值的treegrid。每隔30秒刷新一次存儲並顯示新數據。如果值更改,更改dojo treegrid單元格的樣式
當它的值與舊值不同時,我需要更改treegrid單元格的樣式(顏色或背景顏色)。要求是從javascript進行比較和造型。
任何想法如何做到這一點?
我所擁有的是填充了ajax值的treegrid。每隔30秒刷新一次存儲並顯示新數據。如果值更改,更改dojo treegrid單元格的樣式
當它的值與舊值不同時,我需要更改treegrid單元格的樣式(顏色或背景顏色)。要求是從javascript進行比較和造型。
任何想法如何做到這一點?
您可以使用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;
};
})();
可能有更好的方法來跟蹤先前值的,但因爲你的商店得到改變,我真的想不出一個。