首页 > 解决方案 > Vaadin Grid:如果不使用 LUMO 主题,则交替行颜色

问题描述

对于使用 LUMO 主题的网格,有一个简单的解决方案来获得交替的行颜色(在“主题变体用法”下查看此处)。此外,如果您知道网格列的数量,您可以使用 CSS 选择器设置颜色vaadin-grid-cell-content:nth-child(an+b)。但不幸的是,在我们的案例中,这两个条件都没有得到满足。

在一般情况下如何实现交替行颜色?

我能想出的唯一解决方案是使用 List 输入数据并定义一个行类生成器,如下所示:

grid.setClassNameGenerator(i -> (entities.indexOf(i) % 2) == 0 ? "even-row" : "");

但我想使用所有类型的 Collection 作为输入数据。

标签: vaadinvaadin-grid

解决方案


对于那些寻找答案的人,请查看cfrick的评论。CSS 选择器是

:host([theme~="row-stripes"]) [part~="row"]:not([odd]) [part~="body-cell"]

推荐阅读