2011-10-31 4 views
1

아약스의 값으로 채워진 트리 그리드가 있습니다. 30 초마다 저장소가 새로 고쳐지고 새 데이터가 표시됩니다.값이 변경되면 dojo treegrid 셀의 스타일을 변경하십시오.

값이 이전 값과 다른 경우 트리 그리드 셀의 스타일 (색 또는 배경색)을 변경해야합니다. 요구 사항은 자바 스크립트에서 비교 및 ​​스타일을 만드는 것입니다.

어떻게 할 수 있습니까?

답변

0

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; 
}; 

})(); 

이전 값을 추적하기 위해 더 나은 방법이있을 수 있지만, 상점이 변화하기 때문에, 난 정말 하나 생각할 수 없다 : 당신이 얻을 수있는이 같은

뭔가 시작했다.

관련 문제