如何在Vaadin 8中有条件地为网格行着色?

Hir*_*era 12 java sass vaadin vaadin-grid vaadin8

我想根据单元格的值更改Vaadin网格行的颜色.我尝试了如下,但没有奏效.

SCSS

@import "mytheme.scss";
@import "addons.scss";

// This file prefixes all rules with the theme name to avoid causing conflicts with other themes.
// The actual styles should be defined in mytheme.scss

.mytheme {
     @include addons;
     @include mytheme;

     .v-grid-row.error_row {
            // Tried following elements and didn't work.
            // background-color: red !important;
            // color: blue !important; // This changed the color of the font.
            background: green !important;
     }
}
Run Code Online (Sandbox Code Playgroud)

Java代码

grid.setStyleGenerator(t -> {
            if (t.getLogLevel().trim().equals(ERROR) || t.getLogLevel().trim().equals(WARN)) {
                return "error_row";
            } else {
                return null;
            }
        });
Run Code Online (Sandbox Code Playgroud)

注意:我从浏览器的开发人员工具中检查css,并显示css已正确更新(请参见下图).

在此输入图像描述

Ste*_*ich 14

你需要覆盖background-color行的TD元素:

.v-grid-row.error_row > td {
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

通过使用浏览器的样式检查,您可以看到Vaadin如何实现样式.