You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vaadin 14中如何获取Grid组件当前显示的列顺序

Vaadin Grid列顺序的保存与恢复差异说明

Vaadin 8 实现方案

在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 适配注意事项

Vaadin 14中该方案已无法直接生效,即便忽略getId()需替换为getKey()的接口变化,getColumns()返回的列表始终为列的初始添加顺序,而非用户调整后的实际显示顺序。
目前setColumnOrder(...)方法仍可使用,但参数规则有所调整,需传入由grid.getColumnByKey(columnKey)获取的列对象列表。但框架原生暂不支持获取按当前显示顺序排列的列列表,该能力对保存用户自定义列配置、用户再次访问页面时恢复个性化布局尤为重要。

内容的提问来源于stack exchange,提问作者Stephane Grenier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:06:04