在单个Vaadin树项上设置样式

时间:2012-03-20 09:12:10

标签: css tree vaadin styling

在Vaadin树组件中,我希望能够使用itemId实时添加和删除特定项目的样式。

我查看了树组件并搜索了类似的问题,但是In没有找到任何东西。有没有人知道如何实现这个目标?

修改

前段时间我找到了问题的解决方案,但尼尔斯用他的答案提醒我,我从未更新过。这是我的解决方案。

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

1 个答案:

答案 0 :(得分:4)

您可以使用Tree.ItemStyleGenerator执行此操作:

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