刷新网格数据(Vaadin 8)

时间:2017-08-22 08:03:50

标签: vaadin vaadin8 vaadin-grid

我有一个从数据库中提取数据的数据提供程序,我将我的数据保存为列表。

List<Person> myList= new ArrayList<>(dao.getAllPersons());
ListDataProvider<Person> dataProvider = new ListDataProvider<>(myList);
//...
grid.setDataProvider(dataProvider);

当我从数据库中删除一些数据时,它不会立即刷新。我必须刷新页面以查看差异。

dao.deletePerson(...);
dataProvider.refreshAll();

refreshAll()根本不起作用。我该如何刷新它?

1 个答案:

答案 0 :(得分:1)

解决了它。

dataProvider.getItems().remove(item); // Removed item from list
dao.deletePerson(...); // and removed it from my database too

之后:

 dataProvider.refreshAll();

修改

这不是最佳解决方案。

  

如果某天内存消耗是一个问题,你应该切换到一个自己的数据提供者(例如,使用fetch和count回调),它直接从数据库查询但是被分页。

     

- @Steffen Harbich's Comment