我运行以下代码,其中myGridExample是Vaadin 8网格对象。
this.myGridExample
.addColumn(MapQueryService.RowResult::getFacilityType)
.setMinimumWidth(130)
.setWidth(160)
.setMaximumWidth(170)
.setCaption("Facility Type");
setMaximumWidth(170)似乎没有做任何事情。但.setMinimumWidth(130)按预期工作。这是一个错误吗?
答案 0 :(得分:2)
来自Vaadin8-docs:
设置此列的最大宽度。 这定义了最大值 当列设置为展开时允许列的像素宽度。
...
如果它是关于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());
});