我有一个JFX TableView,它在每个列的标题中显示一个带有TextField的表。文本字段用于过滤其相应列的数据。当应用过滤器并且用户对列进行排序,然后向表中添加新条目时,应该对新条目进行相应的过滤,并根据表的当前比较器属性对其进行排序。使用JavaFX,可以实现以下目的:
sorted_list.comparatorProperty().bind(table.comparatorProperty());
我已经继续使用GlazedList,但我尝试了几种方法,但仍然无法使用。我如何将glazedlist的sortedlist比较器绑定到JFXTableView的比较器?
我尝试了以下方法:
EventList<Person> filtered_list = new FilteredList<Person>(base_list, filterMatcherEditor);
//I have tried the following:
//1.
SortedList<Person> sorted_list = new SortedList<Person>(filtered_list, table.getCompartor());
//2.
sorted_list.setComparator(table.getComparator());
两者都不起作用,因为它们未完全绑定到表的比较器。因此,无论何时添加一个新人员,它都会被简单地添加到列表的底部,甚至根据sort属性来考虑,它也应该位于列表的顶部。