使用Java Fx,在创建搜索过滤器时搜索整数值的最佳方法是什么?



我正在尝试添加一个搜索过滤器到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;

最新更新