Vaadin 21 Grid组件MULTI多选模式下如何隐藏顶部全选复选框?
Vaadin Grid 多选模式禁用顶部全选复选框解决方案
不同Vaadin版本的Grid默认行为存在差异,对应解决方案可按版本选择:
Vaadin 21 / 14.8 及以上版本(原生API方案)
Vaadin 21及更高版本、14.8之后的LTS版本已经提供了原生控制接口,直接操作多选选择模型即可:
Grid<Person> grid = new Grid<>(Person.class, false); // 开启多选模式的同时获取选择模型实例 GridMultiSelectionModel<Person> selectionModel = (GridMultiSelectionModel<Person>) grid.setSelectionMode(Grid.SelectionMode.MULTI); // 隐藏全选复选框 selectionModel.setSelectAllCheckboxVisible(false); grid.setItems(personRepository.findAll());
低版本兼容方案(CSS样式隐藏)
如果使用没有提供原生API的旧版本Vaadin,可以通过自定义样式强制隐藏全选复选框:
- 给Grid组件添加自定义样式类
grid.addClassName("hide-select-all-checkbox");
- 在全局样式或组件对应样式文件中添加如下规则:
.hide-select-all-checkbox vaadin-grid-select-all-checkbox { display: none !important; }
注意事项
- 优先使用原生API方案,稳定性更高,不会因为版本升级后组件内部DOM结构、样式类名变更导致失效
- Vaadin 22、23等更高版本均兼容上述原生API方案,无需调整代码
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

