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


您只需要将第一列和最后一列放在其中,先前已为两列调用setSortable(true)

关于java - javafx中带有TableView的多重过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16539274/

10-10 22:35