2012-03-20 39 views
2

在Vaadin樹組件中,我希望能夠使用itemId實時添加和刪除特定項目的樣式。在單獨的Vaadin樹項目上設置樣式

我已經查看了通過樹組件並搜索了類似的問題,但在沒有找到任何東西。有沒有人有如何實現這個想法?

編輯

我找到了解決這個問題,前一段時間,但尼爾斯提醒了我對他的回答,我從來沒有更新。這是我的解決方案。

customerTree.setItemStyleGenerator(new Tree.ItemStyleGenerator() { 

    @Override 
    public String getStyle(Object itemId) { 
     Item item = customerTree.getItem(itemId); 

     String itemName = 
      item.getItemProperty("name").getValue().toString().toLowerCase(); 
     return itemName.equals(filter) ? "bold" : "clear"; 
    } 
}); 

回答

4

您可以用Tree.ItemStyleGenerator做到這一點:

Tree myTree = new Tree(); 
myTree.setItemStyleGenerator(new ItemStyleGenerator() { 
    @Override 
    public String getStyle(Object itemId) { 
     return itemId.equals("foo") ? "foo" : "bar"; 
    } 
}); 
+0

嗨尼爾斯!謝謝,但是我已經找到了解決這個問題的辦法。但你提醒我很好。我在OP中的解決方案中進行了編輯,與您的解決方案非常相似,邏輯上相同更多或更少。 – AndroidHustle 2012-05-16 10:25:54

相關問題