javafx中带TableView的多过滤器

javafx中带TableView的多过滤器,java,javafx-2,tableview,Java,Javafx 2,Tableview,我已经在javafx2.2中创建了一个带有过滤器的表,用于过滤数据。例如,我有两列,如(名字、姓氏)。“名”列在许多行中具有相同的名称,但姓氏不同。所以我想添加两个过滤器来过滤名字,然后我想根据名字过滤器过滤姓氏 查看TableView#getSortOrder方法: public final ObservableList<TableColumn<S,?>> getSortOrder() Returns: An ObservableList containing zer

我已经在javafx2.2中创建了一个带有过滤器的表,用于过滤数据。例如,我有两列,如(名字、姓氏)。“名”列在许多行中具有相同的名称,但姓氏不同。所以我想添加两个过滤器来过滤名字,然后我想根据名字过滤器过滤姓氏

查看
TableView#getSortOrder
方法:

public final ObservableList<TableColumn<S,?>> getSortOrder()

Returns:
An ObservableList containing zero or more TableColumn instances.
公共最终可观察列表getSortOrder()
返回:
包含零个或多个TableColumn实例的ObservableList。
sortOrder列表定义了TableColumn实例的排序顺序:

  • 空的排序器列表表示没有对TableView应用排序
  • 如果排序器列表仅包含一个TableColumn,则TableView将使用此TableColumn的sortType和comparator属性进行排序(假设
    TableColumn.sortable
    为true)
  • 如果排序器列表包含多个TableColumn实例,则TableView最初将基于第一个TableColumn的属性进行排序。如果认为两个元素相等,则使用列表中的第二个Table列来确定顺序。如有必要,重复此操作,直到考虑所有TableColumn比较器的结果

您只需将先前为这两列调用了
setSortable(true)
的第一列和最后一列放在那里。

请查看
TableView#getSortOrder
方法:

public final ObservableList<TableColumn<S,?>> getSortOrder()

Returns:
An ObservableList containing zero or more TableColumn instances.
公共最终可观察列表getSortOrder()
返回:
包含零个或多个TableColumn实例的ObservableList。
sortOrder列表定义了TableColumn实例的排序顺序:

  • 空的排序器列表表示没有对TableView应用排序
  • 如果排序器列表仅包含一个TableColumn,则TableView将使用此TableColumn的sortType和comparator属性进行排序(假设
    TableColumn.sortable
    为true)
  • 如果排序器列表包含多个TableColumn实例,则TableView最初将基于第一个TableColumn的属性进行排序。如果认为两个元素相等,则使用列表中的第二个Table列来确定顺序。如有必要,重复此操作,直到考虑所有TableColumn比较器的结果

您只需将前面的
setSortable(true)
两个列都调用的第一列和最后一列放在那里。

您在这个问题中谈论的是筛选还是排序?您在这个问题中谈论的是筛选还是排序?