1

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

4

1 回答 1

1

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 和比较器属性进行排序(假设TableColumn.sortable为 true)。
  • 如果 sortOrder 列表包含多个 TableColumn 实例,则 TableView 最初根据第一个 TableColumn 的属性进行排序。如果认为两个元素相等,则列表中的第二个 TableColumn 用于确定排序。重复此操作,直到考虑所有 TableColumn 比较器的结果(如有必要)。

您只需将第一列和最后一列都放在那里,之前已经setSortable(true)调用了这两列。

于 2013-05-14T09:24:28.623 回答