代码之家  ›  专栏  ›  技术社区  ›  vishnu

基于css的vaadin网格表格列宽控制

  •  1
  • vishnu  · 技术社区  · 6 年前

    在我的 聚合物2.0 我正在使用的项目 瓦丁网格#3.0.2 . 有一个网格包含大量的数据-20+列,因此在div中有一个overflow-y滚动。母公司有一个 display: flex 属性,以便自动生成列的宽度。 我们可以设置CSS列的最小宽度吗?或者我可以用CSS控制它吗?

    无法在此处重现问题代码,因为数据来自外部服务器(Oracle VM VirtualBox)。

    以下是HTML中使用的代码:

    <vaadin-grid class="projectworksheet" name="worksheet" items="[[projectData]]" page-size="10"></vaadin-grid>
    

    下面是渲染网格的截图,vaadin网格自动生成 <vaadin-grid-table id="scroller"> 在下面 #shadow-root 我想,这就是为什么我不能控制列 min-width 使用CSS。

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  1
  •   Chris Gunawardena    6 年前

    单独使用CSS无法跨越阴影dom边界,这意味着您无法从vaadin网格组件外部设置宽度,除非它们提供mixin或CSS变量。

    但是,您可以使用javascript访问shadowDom内部的元素并设置它们的css属性。如: document.querySelector('vaadin-grid.projectworksheet').shadowRoot.querySelector('vaadin-grid div.col').style.width = '100px'