java - javafx 中使用 TableView 进行多重过滤

标签 java javafx-2 tableview

我在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/

相关文章:

ios - 数据未在 View Controller Swift 之间传输

ios - 有什么方法可以在不重新加载/重新加载行的情况下刷新单元格的高度?

iphone - (iPhone)如何更改tableview中一行的字体大小

java - 使用apache普通文件上传获取上传文件绝对位置

java - GAE+JDO+JAVA+CRUD

java - moveTo() 方法中的VerifyException

java - 从 JavaFX 应用程序复制图像并使用 Windows 粘贴

java - Java中如何避免符号扩展位掩码?

JavaFX 在 ListView 中选择项目

javafx-2 - Javafx PropertyValueFactory 未填充 Tableview