Vaadin treegrid条件格式

时间:2018-07-24 08:15:53

标签: java vaadin conditional-formatting vaadin8 treegrid

我正在将条件突出显示应用于TreeGrid,但是,它不会将颜色应用于行。我对Grid使用了类似的方法,它可以完美地工作。有人在TreeGrid上遇到过类似的问题吗?

代码:

通过“网格”组件按钮触发突出显示-

btnRed.addClickListener(clickEvent -> {
    if (isContained(selectedItems.keySet(), systemAccessDTO)){
        removeItemsRecursively(systemAccessDTO);
    }else {
        addItemsRecursively(systemAccessDTO);
    }
    updateStyles();
});

更新样式-

private void updateStyles() {
    grid.setStyleGenerator(systemAccessDTO -> {
        if (isContained(selectedItems.keySet(), systemAccessDTO)) {
            return "red";
        }
        return null;
    });
}

PS:Vaadin版本8.4.3

谢谢!

1 个答案:

答案 0 :(得分:2)

我发现了问题。 vaadin中的Grid和TreeGrid类具有不同的CSS类。将其发布给有相同问题的任何人。

设置treegrid行的样式:

    .v-treegrid-row.treegrid_custom_style .v-treegrid-cell {
          background-color: #a8c9ff;
    }

    .v-treegrid-row-stripe.treegrid_custom_style .v-treegrid-cell {
          background-color: #a8c9ff;
    }