【问题标题】:Vaadin Grid Column setMaximumWidth ignoredVaadin Grid Column setMaximumWidth 被忽略
【发布时间】:2017-12-06 22:39:38
【问题描述】:

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

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

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

【问题讨论】:

  • 看起来像一个错误 :)

标签: vaadin vaadin8 vaadin-grid


【解决方案1】:

来自Vaadin8-docs

setMaximumWidth

设置此列的最大宽度。 这定义了最大值 列设置为展开时允许的像素宽度

...

另见: setExpandRatio(int)

如果是关于setMinimumWidth - 它也只适用于扩展。我在你的 gif 中做了一些测量,看起来你调整大小的 minimumWidth 是 ~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());
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 2016-08-10
    • 2019-04-16
    相关资源
    最近更新 更多