Java Vaadin 14网格多线单元

Java Vaadin 14网格多线单元,java,vaadin,vaadin-grid,vaadin14,Java,Vaadin,Vaadin Grid,Vaadin14,我在一列中有很长的字符串,我想在网格中将它们显示为多行单元格。 我使用的是Vaadin 14+Java,我尝试为特定列设置CSS样式类: Java代码: @CssImport("./styles/shared-styles.css") public class RisikoGrid extends Grid<RisikoEntity> { public RisikoGrid() { setSizeFull(); // add the c

我在一列中有很长的字符串,我想在网格中将它们显示为多行单元格。 我使用的是Vaadin 14+Java,我尝试为特定列设置CSS样式类:

Java代码:

@CssImport("./styles/shared-styles.css")
public class RisikoGrid extends Grid<RisikoEntity> {

    public RisikoGrid() {
         setSizeFull();

         // add the column to the grid
         addColumn(Entity::getAttribute).setHeader("MyCol")
            .setFlexGrow(10).setSortable(true).setKey("mycolumn");

         // set CSS style class for the specific column
         this.getColumnByKey("mycolumn").setClassNameGenerator(item -> {return "grid-mycol";});

   }
}
当我在webbrowser(chrome)中使用inspector时,我确实看到了类名,但是没有应用css

我需要改变什么才能让它工作

编辑:这就是我的风格-我甚至看不到背景:例如红色:


我研究了为什么我的css设置没有显示在inspector中,而解决方案是对以下内容的最小更改:

@CssImport("./styles/shared-styles.css")

我猜网格的组件范围不同于全局CSS


它现在可以工作了。

我研究了为什么我的css设置没有显示在inspector中,解决方案是对以下内容进行最小的更改:

@CssImport("./styles/shared-styles.css")

我猜网格的组件范围不同于全局CSS


现在可以使用了。

您可以使用内置的
包装单元格内容
主题变量来允许文本包装在单元格内

grid.addThemeVariants(GridVariant.LUMO\u WRAP\u CELL\u CONTENT);

请参见上的最后一个示例–文本没有那么长,但是如果您将浏览器窗口设置得足够窄,您将看到一些地址以两行换行。

您可以使用内置的
换行单元格内容
主题变量,允许文本在单元格内换行

grid.addThemeVariants(GridVariant.LUMO\u WRAP\u CELL\u CONTENT);

请参见上的最后一个示例–文本没有那么长,但如果您将浏览器窗口设置得足够窄,您将看到一些地址以两行换行。

grid Mycl的样式如何?浏览器是否加载了shared-styles.css?其他内容是从shared styles加载的,并应用于我的Web应用程序的其他位置。“我的风格是什么样子?”上面的css摘录是什么意思?哦,对不起。我在问题中没有看到。Chrome中的计算样式是什么样子的?你应该知道为什么没有应用样式。奇怪的是,背景:红色(以及我在css中设置的其他东西)不会显示在css检查器的“样式”下。我添加了一个截图,你的风格是什么样子的网格mycol?浏览器是否加载了shared-styles.css?其他内容是从shared styles加载的,并应用于我的Web应用程序的其他位置。“我的风格是什么样子?”上面的css摘录是什么意思?哦,对不起。我在问题中没有看到。Chrome中的计算样式是什么样子的?你应该知道为什么没有应用样式。奇怪的是,背景:红色(以及我在css中设置的其他东西)不会显示在css检查器的“样式”下。我添加了一个屏幕快照是的,使用ClassNameGenerator添加的类名被添加到网格的阴影DOM中的元素中,并且不受全局CSS的影响。是的,使用ClassNameGenerator添加的类名被添加到网格的阴影DOM中的元素中,并且不受全局CSS的影响。我猜这会影响网格的所有单元格/列吗?例如,如果我只想将其应用于某些列,那么我必须使用ClassNameGenerator单独添加它?我猜这会影响网格的所有单元格/列?例如,如果我只想将其应用于某些列,那么我必须使用ClassNameGenerator单独添加它?
@CssImport(value = "./styles/shared-styles.css", themeFor = "vaadin-grid")