vaadin - Vaadin 13 Grid 中是否有“全选”复选框(即使在过滤条件下也有效,甚至某些数据不在缓存中?)
问题描述
在 Vaadin 13 中,我为我的网格启用了“多选”,效果很好。但是,通常,即使在过滤之后,我也有数百个项目(因此选择每个项目都会很乏味)。在我多年前使用的一个旧的旧 gwt“网格”工具中,他们有一个复选框,将出现在顶行/标题级别,如果选中,将对表中的所有行执行全选/取消全选(之后过滤)。Vaadin 13 中是否存在这样的解决方案?如果没有,是否有任何(简单且安全的)解决方法来实现类似的目标?(注意:这可能比最初看起来要复杂一些,因为全选/取消全选复选框应该选择所有项目,即使它们没有被显示甚至在后端缓存中......它应该选择基于过滤条件的所有记录......)
解决方案
当您使用的数据提供者在内存中没有所有项目时,网格默认情况下不显示“全选”复选框。这样做的原因是它有可能给大型数据库带来很多麻烦。您仍然可以通过执行以下操作显式启用它:
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.grid.Grid.SelectionMode;
import com.vaadin.flow.component.grid.GridMultiSelectionModel;
import com.vaadin.flow.component.grid.GridMultiSelectionModel.SelectAllCheckboxVisibility;
((GridMultiSelectionModel<?>) grid.getSelectionModel())
.setSelectAllCheckboxVisibility(SelectAllCheckboxVisibility.VISIBLE);
有关更多详细信息,请参阅https://github.com/vaadin/vaadin-grid-flow/issues/549。
推荐阅读
- swift - 斯威夫特我怎样才能部分改变UILabel的颜色
- asp.net-core - 如何从 JWT 令牌跟踪客户端 ID/应用程序 ID
- r - 资源高效的连接和过滤方法
- apache-kafka - Kafka JDBC 接收器连接器不会实时创建新的 postgreSQL 表
- javascript - 在 Angular 中按顺序显示 toastr 消息
- servlets - 如何在现有的 servlet 项目中添加 swagger
- mysql - XAMPP- MySQL 以 2696 关闭
- android - 将字符串从一个活动发送到另一个活动时,“意图不能为空”
- javascript - 如何通过公式对所有输入值求和
- django-rest-framework - 无法将对象呈现为 html - 没有错误消息