【问题标题】:How can I vertically align the contents of a cell in a Vaadin Grid?如何垂直对齐 Vaadin 网格中单元格的内容?
【发布时间】:2018-07-09 20:40:31
【问题描述】:

我有以下代码成功地将我的 Vaadin 网格中单元格的内容居中。

        this.grid.setRowHeight(65);
        this.grid.setStyleGenerator(item -> "v-align-center");

它使它看起来像这样。

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

【问题讨论】:

    标签: vaadin vaadin8 vaadin-grid


    【解决方案1】:

    我使用 CSS 样式和默认 TextRenderer,但没有让它工作。当您切换到HtmlRenderer 时,您将拥有更多样式选项以及额外的div HTML 元素。有关样式提示,请参阅 this question。例如,当您可以使用 flex 布局时,这应该可以工作:

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

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

    【讨论】:

      【解决方案2】:

      如果您要在行上设置特定的高度,那么使用 CSS 就很容易实现。

      我不使用 StyleGenerator,而是将 CSS 类应用于 Grid 本身。

      Java:

      addStyleName("my-custom-grid");
      

      CSS:

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

      【讨论】:

        猜你喜欢
        • 2018-03-22
        • 2021-10-22
        • 2019-04-05
        • 2012-06-14
        • 1970-01-01
        • 1970-01-01
        • 2010-11-27
        • 1970-01-01
        • 2011-07-30
        相关资源
        最近更新 更多