Java 如何增加Vaadin 11.0.0网格中的行高度?

Java 如何增加Vaadin 11.0.0网格中的行高度?,java,css,vaadin,vaadin-grid,Java,Css,Vaadin,Vaadin Grid,我想在Vaadin 11中的网格中实现单词包装。据我所知,你需要为此做两件事: 设置相应单元格的样式 增加行高 我使用以下代码完成了第一步: productsGrid.addColumn(TemplateRenderer.of( “[[item.name]]”) .withProperty(“名称”,产品::getName)) .setHeader(“名称”) 现在我需要增加行的高度 也许可以使用productsGrid.getElement().getStyle().set(…)来实现,但我不

我想在Vaadin 11中的网格中实现单词包装。据我所知,你需要为此做两件事:

  • 设置相应单元格的样式
  • 增加行高
  • 我使用以下代码完成了第一步:

    productsGrid.addColumn(TemplateRenderer.of( “[[item.name]]”) .withProperty(“名称”,产品::getName)) .setHeader(“名称”)

    现在我需要增加行的高度

    也许可以使用
    productsGrid.getElement().getStyle().set(…)
    来实现,但我不确定如何使用它

    如何增加Vaadin 11网格中的行高度(即,使行更高以便在单元格中显示长文本)

    更新1:

    我使用以下代码创建网格:

    private Grid<Product> createProductsGrid() {
        final Grid<Product> productsGrid = new Grid<Product>();
        productsGrid.setItems(Arrays.asList(AltFondUtilities.INSTANCE));
        productsGrid.addColumn(TemplateRenderer.<Product>of(
                        "<div style='word-wrap: break-word;'>[[item.name]]</div>")
                        .withProperty("name", Product::getName))
                        .setHeader("Название");
        productsGrid.addColumn(Product::getInterestRatePercentPerAnnum)
                        .setHeader("Ставка");
        productsGrid.addColumn(Product::getProvider).setHeader("Организация");
        productsGrid.setHeightByRows(true);
        return productsGrid;
    }
    
    private Grid createProductsGrid(){
    最终网格产品网格=新网格();
    productsGrid.setItems(Arrays.asList(AltFondUtilities.INSTANCE));
    productsGrid.addColumn(TemplateRenderer.of(
    “[[item.name]]”)
    .withProperty(“名称”,产品::getName))
    .setHeader(“аззааааа”);
    productsGrid.addColumn(产品::getInterestRatePercentPerAnnum)
    .setHeader(“Сааааааа”);
    productsGrid.addColumn(Product::getProvider).setHeader(“зззззз”);
    productsGrid.setHeightByRows(真);
    返回产品网格;
    }
    
    结果:即使
    name
    列的样式正确,换行符也不起作用

    从Vaadin 11的列表中可以看出,通过使用
    setHeightByRows

    Grid<Person> grid = new Grid<>();
    
    // When using heightByRows, all items are fetched and
    // Grid uses all the space needed to render everything.
    grid.setHeightByRows(true);
    
    Grid Grid=new Grid();
    //使用heightByRows时,将获取并删除所有项目
    //网格使用渲染所有内容所需的所有空间。
    grid.setHeightByRows(真);
    
    行高的设置取决于所使用的主题。如果UI使用LUMO主题,那么可以使用下面的hack更改表的行高

            Grid<Object> grid = new Grid<>();        
            grid.getStyle().set("--lumo-line-height-xs", "0");
            grid.getStyle().set("--lumo-line-height-s", "0");
            grid.getStyle().set("--lumo-size-xs", "0");
            grid.getStyle().set("--lumo-size-s", "0");
            grid.getStyle().set("--lumo-space-xs", "0");
            grid.getStyle().set("--lumo-space-s", "0");
            grid.getStyle().set("margin-top", "20px");
            grid.getStyle().set("line-height", "20px");
    
    
    
    Grid Grid=new Grid();
    grid.getStyle().set(“--lumo行高xs”,“0”);
    grid.getStyle().set(“--lumo-line-height-s”,“0”);
    grid.getStyle().set(“--lumo size xs”,“0”);
    grid.getStyle().set(“--lumo-size-s”,“0”);
    grid.getStyle().set(“--lumo space xs”,“0”);
    grid.getStyle().set(“--lumo-space-s”,“0”);
    grid.getStyle()set(“边距顶部”、“20px”);
    grid.getStyle().set(“行高”,“20px”);
    
    谢谢,但它不起作用。我在问题的更新1中发布了创建网格的代码,以及我得到的屏幕截图。setHeightByRows与网格的大小有关,而不是一行。这个问题是关于单行的大小要使单元格换行,请为其添加主题:
    grid.element.themeList.addAll('wrap-cell-content')