刷新网格数据(Vaadin 8)
Refreshing Grid Data (Vaadin 8)
我有一个从数据库中获取数据的数据提供程序,我将我的数据保存为一个列表。
List<Person> myList= new ArrayList<>(dao.getAllPersons());
ListDataProvider<Person> dataProvider = new ListDataProvider<>(myList);
//...
grid.setDataProvider(dataProvider);
当我从数据库中删除一些数据时,它不会立即刷新。我必须刷新我的页面才能看到差异。
dao.deletePerson(...);
dataProvider.refreshAll();
refreshAll() 根本不起作用。我该如何刷新它?
解决了。
dataProvider.getItems().remove(item); // Removed item from list
dao.deletePerson(...); // and removed it from my database too
之后:
dataProvider.refreshAll();
编辑:
这不是最好的解决方案。
If memory consumption is an issue some day, you should switch to an own data provider (e.g. with fetch and count callback) that directly queries from the database but paged.
–
我有一个从数据库中获取数据的数据提供程序,我将我的数据保存为一个列表。
List<Person> myList= new ArrayList<>(dao.getAllPersons());
ListDataProvider<Person> dataProvider = new ListDataProvider<>(myList);
//...
grid.setDataProvider(dataProvider);
当我从数据库中删除一些数据时,它不会立即刷新。我必须刷新我的页面才能看到差异。
dao.deletePerson(...);
dataProvider.refreshAll();
refreshAll() 根本不起作用。我该如何刷新它?
解决了。
dataProvider.getItems().remove(item); // Removed item from list
dao.deletePerson(...); // and removed it from my database too
之后:
dataProvider.refreshAll();
编辑:
这不是最好的解决方案。
If memory consumption is an issue some day, you should switch to an own data provider (e.g. with fetch and count callback) that directly queries from the database but paged.
–