包含复选框的 Vaadin 14 网格组件列不排序
Vaadin 14 Grid Component Column containing checkbox does not sort
我正在使用 Vaadin 14 网格。该网格包含许多列。其中一些需要表示布尔值,因此我们在该列中使用了一个复选框组件。这是通过使用 grid.addComponentColumn
方法完成的。刚刚使用 grid.addColumn
添加的与文本相关的列
现在我们要在网格上启用多重排序。默认情况下,header 中的排序指示符(up/down 箭头)针对基于文本的列显示,但不针对布尔值显示。
对布尔列/组件列添加排序后(addComponentColumn(...).setSortable(true)
显示header中的排序指示符,但更改排序方向时不执行排序本身(none / asc / desc) 使用header.
中的箭头
我怎样才能完成这项工作?
提前致谢!
当您对列中呈现的内容具有自定义逻辑时,您还需要明确配置应如何处理该列的排序。
如果您使用的是 in-memory 数据,那么您可以使用 Column.setComparator
。如果您使用的是后端数据源,那么您应该改用 Column.setSortProperty
并确保数据提供者实际考虑 Query.getSortOrders
.
的内容
上看到这方面的实践示例
我正在使用 Vaadin 14 网格。该网格包含许多列。其中一些需要表示布尔值,因此我们在该列中使用了一个复选框组件。这是通过使用 grid.addComponentColumn
方法完成的。刚刚使用 grid.addColumn
现在我们要在网格上启用多重排序。默认情况下,header 中的排序指示符(up/down 箭头)针对基于文本的列显示,但不针对布尔值显示。
对布尔列/组件列添加排序后(addComponentColumn(...).setSortable(true)
显示header中的排序指示符,但更改排序方向时不执行排序本身(none / asc / desc) 使用header.
我怎样才能完成这项工作? 提前致谢!
当您对列中呈现的内容具有自定义逻辑时,您还需要明确配置应如何处理该列的排序。
如果您使用的是 in-memory 数据,那么您可以使用 Column.setComparator
。如果您使用的是后端数据源,那么您应该改用 Column.setSortProperty
并确保数据提供者实际考虑 Query.getSortOrders
.