有没有办法过滤表列数据,因为在Excel中有一种方法可以过滤。如果数据量很大,手动过滤需要很长的代码。所以试图找到一个简单的方法。请提出建议。我通过以下链接获得相同但需要更简单有效的方法。 http://code.makery.ch/blog/javafx-8-tableview-sorting-filtering/
我为该用例编写了一个扩展:
https://github.com/maimArt/TableFilterFX
过滤器的实现非常简单。使用TableFilter包装TableView并添加应由tableFilter.filterColumn过滤的列(TableColumn列)
1 Build your TableView like usual by code or fxmlTableView<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 After that apply the filter
TableFilter<Pojo> tableFilter = new TableFilter<>(table);
tableFilter.filterColumn(columnA);
tableFilter.filterColumn(columnB);
Excel之类的TableView没有内置的过滤功能。
我编写了一个提供GUI过滤器的库,但您仍需要以编程方式应用结果来过滤数据集: