protected void doFilterTable(TextField tf) {
String criteria = tf.getText();
if( logger.isLoggable(Level.FINE) ) {
logger.fine( "[FILTER] filtering on=" + criteria );
}
if( criteria == null || criteria.isEmpty() ) {
tblPersons.setItems( personsActiveRecord );
return;
}
FilteredList<Person> fl = new FilteredList<>(personsActiveRecord, p -> true);
fl.setPredicate(person -> {
if (criteria == null || criteria.isEmpty()) {
return true;
}
String lcCriteria = criteria.toLowerCase();
if (person.getFirstName().toLowerCase().contains(lcCriteria)) {
return true; // Filter matches first name.
} else if (person.getLastName().toLowerCase().contains(lcCriteria)) {
return true; // Filter matches last name.
} else if (person.getEmail().toLowerCase().contains(lcCriteria)) {
return true; // matches email
}
return false; // Does not match.
});
SortedList<Person> sortedData = new SortedList<>(fl);
sortedData.comparatorProperty().bind(tblPersons.comparatorProperty()); // ?
tblPersons.setItems(sortedData);
}
PersonsController.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:examples-javafx-repos1
作者:
评论列表
文章目录