我有一个从数据库中获取数据的数据提供程序,并且我将我的数据保存为一个列表。
List<Person> myList= new ArrayList<>(dao.getAllPersons());
ListDataProvider<Person> dataProvider = new ListDataProvider<>(myList);
//...
grid.setDataProvider(dataProvider);当我从数据库中删除一些数据时,它不会立即刷新。我必须刷新我的页面才能看到区别。
dao.deletePerson(...);
dataProvider.refreshAll();refreshAll()根本不起作用。我怎样才能刷新它?
发布于 2017-08-22 08:32:55
解决了。
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
https://stackoverflow.com/questions/45812137
复制相似问题