2010-05-14 4 views

ответ

0

Создайте функцию для переключения класса CSS-узла дерева в зависимости от того, включена ли виртуальная машина.

ar iconFunc = dojo.hitch(this, function (item, opened) { 
       if(item !== undefined && item !== null) { 
        if (item.VmOn!== undefined) { 
         return "VmOn"; 
        } 
        else { 
         return "VmOff"; 
        } 
       } 
      }); 

При создании дерева, передать iconFunc в конструкторе Params:

var treeParams = { 
    getIconClass : iconFunc, //attach the custom icon function 
...}; 
var myTree = new dijit.Tree(treeParams); 

Затем создать стили CSS называемых VM и VmOff:

.VmOn { 
    background: url(path to your image for VmOn) no-repeat; 

В магазине предметы, которые составляют для узлов дерева потребуется свойство VmOn или VmOff или изменить значокFunc для проверки предметов магазина по-другому ...

3

Это может быть еще один способ сделать то же самое,

getIconStyle:function(item, opened){ 
    if(!item.root){ 
     if(!item.children){ 
      // Style the nodes that not have childrens 
      return {backgroundColor: "red"}; 
     }else{ 
      // Style the nodes that have childrens 
      return {backgroundColor: "blue"}; 
     } 
    }else{ 
     // Style the root node here 
     return {backgroundColor: "orange"}; 
    } 
} 

вы также можете использовать getIconClass вернуть соответствующее имя класса CSS.