在Grid(Vaadin)中更改单元格的颜色

Jum*_*per 2 vaadin

我用BeanItemContainerGrid来显示我的数据.我需要分别为每个单元格着色,具体取决于单元格中的数据.

cfr*_*ick 7

关于 Vaadin书中网格部分生成单元格样式小节中解释了这一点:

您将a设置CellStyleGenerator为网格setCellStyleGenerator().该getStyle()方法获取a CellReference,其中包含有关单元格的各种信息和对网格的引用,并且应返回样式名称或者null如果没有生成样式.

例如,要将样式名称添加到特定列,您可以匹配列的属性ID,如下所示:

grid.setCellStyleGenerator(cellRef -> // Java 8
    "born".equals(cellRef.getPropertyId())?
        "rightalign" : null);
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用CSS规则为单元格设置样式,如下所示:

.v-grid-cell.rightalign {
    text-align: right;
}
Run Code Online (Sandbox Code Playgroud)