我运行以下代码,其中 myGridExample 是 Vaadin 8 网格对象。
this.myGridExample
.addColumn(MapQueryService.RowResult::getFacilityType)
.setMinimumWidth(130)
.setWidth(160)
.setMaximumWidth(170)
.setCaption("Facility Type");
setMaximumWidth(170) 似乎没有做任何事情。然而 .setMinimumWidth(130) 按预期工作。这是错误吗?
最佳答案
来自 Vaadin8-docs :
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/