2011-08-03 23 views
0

在我的应用程序中我有一个由treeitems构成的树结构。GWT - 造型TreeItems

我想要做的是改变某些树项目的背景下,如果他们userObject满足一定的条件。我遇到的问题是,当根树项目的背景发生变化时(只在根目录树项上满足标准的条件下对其进行测试),该项目的所有子树项目也都会改变其背景,尽管我进入和删除那个样式表在孩子们身上。

长话短说:我希望它只是改变了树项目本身的背景,而不是它的孩子。

代码:

 if(item.getUserObject() != null && ((Device)item.getUserObject()).getDeviceType() == type) 
     { 
      item.setStyleName("labelHighlight"); 
     } 
     else 
     { 
      item.removeStyleName("labelHighlight"); 
     } 

     for(int i = 0; i < item.getChildCount(); i++) 
     { 
      highlightNodes(type, item.getChild(i)); 
     } 

回答

0

使用小部件,而不是直接造型treeItem。像这样,你可以改变你的小部件的背景,而不是所有树项目的背景