【发布时间】:2021-10-20 11:41:29
【问题描述】:
在 Vaadin 8 中,您可以执行以下操作,例如按照屏幕上显示的顺序获取列列表。
String columnOrderPreference = ((List<Grid.Column>)grid.getColumns()).stream()
.map(Grid.Column::getId)
.collect(Collectors.joining(VALUE_SEPARATOR));
这特别方便,因为您可以保存该字符串,然后调用:
grid.setColumnOrder(columnOrderPreference.split(VALUE_SEPARATOR));
在 Vaadin 14 中(忽略 getId() 现在应该使用 getKey())这不再可能,因为 getColumns() 列表现在总是按照它们添加的顺序而不是它们的排序顺序返回。您仍然可以调用 setColumnOrder(...)(使用不同的参数 - grid.getColumnByKey(columnKey) 的列表),但我不知道如何按显示顺序获取列列表。
这对于尝试保存用户在返回同一页面(使用网格)时设置/更改的列顺序特别有用。
【问题讨论】:
标签: vaadin vaadin-flow vaadin14