我在javafx2.2中创建了带有过滤器的表来过滤数据。例如,我有两列,例如(名字,姓氏)。 “名字”列在许多行中具有相同的名称,但姓氏不同。所以我想添加两个过滤器来过滤名字,然后我想根据名字过滤器过滤姓氏。
最佳答案
查看 TableView#getSortOrder
方法:
public final ObservableList<TableColumn<S,?>> getSortOrder()
Returns:
An ObservableList containing zero or more TableColumn instances.
sortOrder 列表定义 TableColumn 实例的排序顺序:
- 空的 sortOrder 列表意味着没有对 TableView 应用排序。
- 如果 sortOrder 列表仅包含一个 TableColumn,则 TableView 将使用此 TableColumn 的 sortType 和 comparator 属性进行排序(假设
TableColumn.sortable
为 true)。 - 如果 sortOrder 列表包含多个 TableColumn 实例,则 TableView 最初根据第一个 TableColumn 的属性进行排序。如果两个元素被视为相等,则列表中的第二个 TableColumn 用于确定顺序。如果需要的话,会重复此过程,直到考虑所有 TableColumn 比较器的结果。
您只需将第一列和最后一列放在那里,之前为这两列调用了 setSortable(true)
。
关于java - javafx 中使用 TableView 进行多重过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539274/