在表视图中筛选表列

时间:2015-03-06 06:24:15

标签: javafx tableview

有没有办法过滤表列数据,因为excel有一种方法可以过滤。 如果数据量很大,手动过滤需要很长的代码。所以试图找到一个简单的方法。请提出建议。 我通过以下链接获得相同但需要更简单有效的方法。 http://code.makery.ch/blog/javafx-8-tableview-sorting-filtering/

2 个答案:

答案 0 :(得分:1)

我为该用例编写了一个扩展名:

https://github.com/maimArt/TableFilterFX

过滤器的实现非常简单。使用TableFilter包装TableView并添加应由tableFilter.filterColumn(TableColumn列)过滤的列

1通过代码或fxml像往常一样构建TableView
TableView<Pojo> table = new TableView<>();
table.getItems().addAll(pojoList);
TableColumn<Pojo, String> columnA = new TableColumn<>("ColA");
TableColumn<Pojo, String> columnB = new TableColumn<>("ColB");
table.getColumns().add(columnA);
table.getColumns().add(columnB);    
2之后应用过滤器
TableFilter<Pojo> tableFilter = new TableFilter<>(table);
tableFilter.filterColumn(columnA);
tableFilter.filterColumn(columnB);

答案 1 :(得分:0)

TableViews没有像Excel这样的内置过滤器功能。

我编写了一个提供GUI过滤器的库,但您仍需要以编程方式应用结果来过滤数据集:

https://code.google.com/p/javafx-filterable-table-columns/

https://github.com/jhsheets/javafx-filterable-table-columns