2017-08-22 12 views
0

私はデータベースからデータを取り出すデータプロバイダがあり、データをリストとして保持しています。グリッドデータのリフレッシュ(Vaadin 8)

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

私のデータベースからいくつかのデータを削除するとすぐには更新されません。私は違いを見るために私のページをリフレッシュする必要があります。

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

refreshAll()がまったく機能しません。どうすれば更新できますか?

+0

メモリ消費量が問題になる場合は、データベースから直接クエリを実行しページングする独自のデータプロバイダ(フェッチとカウントコールバックなど)に切り替える必要があります。 –

+0

@SteffenHarbich Vaadinを学ぶミニプロジェクトを開発しますが、私はそれを検討します。ありがとうございました。 – Murat

答えて

0

解決しました。その後

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

dataProvider.refreshAll(); 

それは働きます!

関連する問題