Vaadin 14-Grid :: setClassNameGenerator不起作用

时间:2019-12-19 16:17:12

标签: java vaadin

我在为网格中的每一行设置背景色时遇到问题。我使用setClassNameGenerator,但这不起作用。但是,如果我为整个网格设置了className,那么我可以看到一些结果。最后,我想根据特定条件为行着色,但是现在我只对一个“失败”的类进行了硬编码,以查看着色是否可行。


这是我的CSS代码:

My CSS


该代码段的执行不会改变任何内容

No results when executing this snippet


但是,这会使整个背景变为预期的黄色,因此可以导入CSS。

This works


任何帮助都会很棒。谢谢

1 个答案:

答案 0 :(得分:5)

您说您的最后一个代码有效,“因此CSS导入就可以了”-不,不是。

这是一个巨大的差异,因为需要在网格组件的作用域内定义行样式,而设置整个网格的背景可以使用全局CSS来完成。这是因为Grid使用的是Shadow-DOM。您可以阅读该here,或更广泛的here

要将CSS加载到网格组件范围内所需要做的是将参数themeFor = "vaadin-grid"添加到@CssImport批注中。

@CssImport(value = "./styles/failedGridColumn.css", themeFor = "vaadin-grid")
代替
@CssImport("./styles/failedGridColumn.css")