如何垂直对齐Vaadin网格中单元格的内容?

如何垂直对齐Vaadin网格中单元格的内容?,vaadin,vaadin8,vaadin-grid,Vaadin,Vaadin8,Vaadin Grid,我有以下代码,成功地将单元格的内容集中在我的Vaadin网格中 this.grid.setRowHeight(65); this.grid.setStyleGenerator(item -> "v-align-center"); 它使它看起来像这样 我怎样才能垂直居中?当我尝试添加样式名v-align-middle时,它什么也没做 我使用CSS样式和默认的文本渲染器,但没有让它工作。当您切换到HtmlRenderer时,您可以使用更多的divHTML元素来

我有以下代码,成功地将单元格的内容集中在我的Vaadin网格中

        this.grid.setRowHeight(65);
        this.grid.setStyleGenerator(item -> "v-align-center");
它使它看起来像这样

我怎样才能垂直居中?当我尝试添加样式名v-align-middle时,它什么也没做


我使用CSS样式和默认的
文本渲染器
,但没有让它工作。当您切换到
HtmlRenderer
时,您可以使用更多的
div
HTML元素来设置样式。有关样式提示,请参见。例如,当您可以使用flex布局时,这应该起作用:

<div style="display:flex; height:100%; width:100%">
    <div style="margin: auto;">11 m³</div>
</div>

11 m³

另一种解决方法是使用
ComponentRenderer
列,将
水平布局设置为100%高度,其子组件与中间中心对齐。

如果要在行上设置特定高度,则使用CSS可以非常直接地实现

我不使用样式生成器,而是将CSS类应用于网格本身

Java:

addStyleName("my-custom-grid");
.my-custom-grid .v-grid-body .v-grid-row .v-grid-cell {
    height: 65px;
    line-height: 65px;
}    
CSS:

addStyleName("my-custom-grid");
.my-custom-grid .v-grid-body .v-grid-row .v-grid-cell {
    height: 65px;
    line-height: 65px;
}