Vaadin 8 刚刚问世。在 Grid 中添加过滤器从未出现在他们的文档中,我只找到了一个可行的解决方案在 stackoverflow 中找到了一个可行的解决方案。
HeaderCell cell = filterRow.getCell(pid);
// Have an input field to use for filter
TextField filterField = new TextField();
filterField.setColumns(0);
filterField.setHeight("23");
// Update filter When the filter input is changed
filterField.addTextChangeListener(change -> {
// Can't modify filters so need to replace
b.removeContainerFilters(pid);
// (Re)create the filter if necessary
if (! change.getText().isEmpty())
b.addContainerFilter(
new SimpleStringFilter(pid,
change.getText(), true, false));
});
cell.setComponent(filterField);
但是现在自从更新以来,这个解决方案不再有效,因为 SimpleStringFilter 在新网格中不再可用,并且不再识别 BeanItemContainer 并且只允许 setItems() 填充网格数据。
谁能帮我更新 Vaadin 8 的代码?