Is there a way to grab a List of the filtered items in a Grid?
[It appears there was something similar to this in Vaadin 8,]
(https://vaadin.com/forum/thread/17370568/how-to-get-all-filtered-items-of-grids-in-vaadin-8) but I cannot find a 10+ equivalent.
For example, I have a Grid with items set to a DataProvider. For some columns in my grid, I have a filter set. If I add in filtering to some/all of my columns, what steps are needed to be made so that I can obtain the rows of filtered items?
List<Reviews> reviewList = getReviews();
Grid<Reviews> grid = new Grid<>();
ListDataProvider<Reviews> dataProvider = new ListDataProvider<>(reviewList);
HeaderRow filterRow = grid.appendHeaderRow();
List<ValueProvider<Reviews, String>> valueProviders = new ArrayList<>();
valueProviders.add(Reviews::getFirst_name);
valueProviders.add(Reviews::getLast_name);
valueProviders.add(Reviews::getOrganization);
valueProviders.add(Reviews::getPosition);
valueProviders.add(Reviews::getDate_applied);
valueProviders.add(Reviews::getStatus);
Iterator<ValueProvider<Reviews, String>> iterator2 = valueProviders.iterator();
grid.getColumns().forEach(column -> {
TextField field = new TextField();
ValueProvider<Reivews, String> valueProvider = iterator2.next();
field.addValueChangeListener(e -> dataProvider
.addFilter(filter_ -> StringUtils.containsIgnoreCase(
valueProvider.apply(filter_), field.getValue())));
field.setValueChangeMode(ValueChangeMode.EAGER);
filterRow.getCell(column).setComponent(field);
field.setSizeFull();
field.setPlaceholder("Filter");
});