我正在尝试过滤ObservableList项目,以便根据x规则在TableView中仅显示其中一些项目。为此,我有一个Database.class,其中有过滤数据的方法,但我不知道如何在Controller类中使用这些方法。
这是.class
package es.upv.inf;
import java.util.List;
import java.util.Map;
public class Database {
private static Map<Product.Category, List<Product>> catalog;
public Database() {
//Compiled Code
}
public static List<Product> getProductByCategory(Product.Category cat) {
//Compiled Code
}
public static List<Product> getProductByCategoryAndPrice(Product.Category cat, double minPrice, double maxPrice, boolean available) {
//Compiled Code
}
public static List<Product> getProductByCategoryAndDescription(Product.Category cat, String substring, boolean available) {
//Compiled Code
}
public static List<Product> getProductByCategoryDescriptionAndPrice(Product.Category cat, String substring, double minPrice, double maxPrice, boolean available) {
//Compiled Code
}
}
答案 0 :(得分:0)
在可观察列表上使用setAll
。您还没有提供任何代码,但您可以调用
TableView<Product> table = new TableView<>();
// ...
table.getItems().setAll(Database.getProductByCategory(...));
答案 1 :(得分:0)
使用Obseravble列表创建FilteredList,并通过setItems()将FilteredList安装到TableView中。然后,您可以操作FilteredList的谓词属性,表格内容将会更改。