使用 Java Fx,创建搜索过滤器时搜索整数值的最佳方法是什么?
Using Java Fx, what is the best way to search for an integer value when creating a search filter?
我正在尝试向 Javafx gui 添加搜索过滤器。我需要按产品 ID 号进行过滤,并尝试了一系列不同的方法以将其添加到可搜索项目的 if (else) 块中,但均未成功。它目前将搜索文本项以及行号,但不会搜索 id 列值。我看到的文档只引用了字符串值。如有任何提示,我们将不胜感激。
FilteredList<Part>filteredData = new FilteredList<>(allParts,p->true);
partsSearchBox.textProperty().addListener((observable,oldValue,newValue) -> {
filteredData.setPredicate(part -> {
if (newValue == null || newValue.isEmpty()) {
return true;
}
String lowerCaseFilter = newValue.toLowerCase();
if (part.getPartName().toLowerCase().contains(lowerCaseFilter)) {
return true;
}
return false;
});
});
SortedList<Part> sortedData = new SortedList<>(filteredData);
sortedData.comparatorProperty().bind(partsTableview.comparatorProperty());
partsTableview.setItems(sortedData);
您可以通过调用 String.valueOf(id) 将整数值用作字符串。
例如:
else if( String.valueOf(part.getId()).toLowerCase().contains(lowerCaseFilter))
return true;
我正在尝试向 Javafx gui 添加搜索过滤器。我需要按产品 ID 号进行过滤,并尝试了一系列不同的方法以将其添加到可搜索项目的 if (else) 块中,但均未成功。它目前将搜索文本项以及行号,但不会搜索 id 列值。我看到的文档只引用了字符串值。如有任何提示,我们将不胜感激。
FilteredList<Part>filteredData = new FilteredList<>(allParts,p->true);
partsSearchBox.textProperty().addListener((observable,oldValue,newValue) -> {
filteredData.setPredicate(part -> {
if (newValue == null || newValue.isEmpty()) {
return true;
}
String lowerCaseFilter = newValue.toLowerCase();
if (part.getPartName().toLowerCase().contains(lowerCaseFilter)) {
return true;
}
return false;
});
});
SortedList<Part> sortedData = new SortedList<>(filteredData);
sortedData.comparatorProperty().bind(partsTableview.comparatorProperty());
partsTableview.setItems(sortedData);
您可以通过调用 String.valueOf(id) 将整数值用作字符串。
例如:
else if( String.valueOf(part.getId()).toLowerCase().contains(lowerCaseFilter))
return true;