Vaadin 网格列 setMaximumWidth 被忽略

标签 vaadin vaadin8 vaadin-grid

我运行以下代码,其中 myGridExample 是 Vaadin 8 网格对象。

           this.myGridExample
                    .addColumn(MapQueryService.RowResult::getFacilityType)
                    .setMinimumWidth(130)
                    .setWidth(160)
                    .setMaximumWidth(170)
                    .setCaption("Facility Type");

setMaximumWidth(170) 似乎没有做任何事情。然而 .setMinimumWidth(130) 按预期工作。这是错误吗?

enter image description here

最佳答案

来自 Vaadin8-docs :

setMaximumWidth

Sets the maximum width for this column. This defines the maximum allowed pixel width of the column when it is set to expand.

...

See Also: setExpandRatio(int)

如果是关于setMinimumWidth - 它也只适用于扩展。我在你的 gif 中做了一些测量,看起来你的调整大小的最小宽度是 ~110px(假设 gif 开始位置的列有 160px 宽度)。所以它可能会自行调整为最长的列值。

解决方法:

grid.addColumnResizeListener(event -> {
   Grid.Column c = event.getColumn();
   if(c.getWidth() > c.getMaximumWidth())
      c.setWidth(c.getMaximumWidth());
   if(c.getWidth() < c.getMinimumWidth())
      c.setWidth(c.getMinimumWidth());
});

关于Vaadin 网格列 setMaximumWidth 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684677/

相关文章:

java - Vaadin 找不到我的主题文件

vaadin - 编辑网格时是否可以在 GridPro 上的 Vaadin 14 中显示保存/取消按钮

java - 使用 Java 8 Stream 的 DataProvider 查询中的 IndexOutOfBoundsException

java - 在 Vaadin 8 中找不到 IndexedContainer

java - Vaadin7 - 网格禁用取消选择

java - Selenium Action 链 - 在按住修改键的同时单击多个元素

java - Vaadin 8 设置 session 超时

java - Vaadin 8 带标签和按钮的水平布局

vaadin 按索引号网格选择一行

vaadin - 如何为 Vaadin Grid 中的列设置样式类?