浏览器屏幕调整大小后,刷新网格大小Vaadin

时间:2017-12-27 14:52:22

标签: java css vaadin vaadin8

Vaadin版本:8.1.4

我的问题是,在调整屏幕大小后,网格没有正确调整大小。我使用setSizeFull()作为网格。但是,在调整浏览器网格大小后,保留其原始大小。

下一个代码示例似乎可以解决问题,但我想知道是否有更好的方法。

        UI.getCurrent().getPage().addBrowserWindowResizeListener(e -> {
           grid.recalculateColumnWidths();
        });

P.S。我忘了提到,当前解决方案的问题是,如果字段的文本很长,vaadin会尝试调整网格,以便所有文本都适合,这会导致网格的宽度超过100%。

示例:

Grid<MyObject> = new Grid(); 
grid.addColumn(MyObject::getDescription).setCaption("Caption").setSortable(false);

网格单元格的Css样式:

.v-grid-cell {
    white-space: nowrap;
    overflow: hidden;
}

无需重新计算列宽,无论MyObject描述的大小如何,网格都能很好地适应页面,但重新计算后(如果MyObject描述不适合浏览器窗口),网格比窗口宽

0 个答案:

没有答案