我在視圖中有一個Vaadin表。有一個按鈕可以在表格中創建一個新行,打開一個子窗口讓您指定新項目並創建它。 一旦創建通知告訴你它已經成功創建,此時我想重新加載當前的UI(這是一個視圖),以便新元素可見(如果分頁可以使其可見)。 在關閉子窗口之前,我試過但它不起作用。重新加載vaadin表
0
A
回答
1
最後,我利用Table方法addItem解決了這個問題。儘管必須有更多優雅的解決方案,
0
通過更改您使用的靜態主要佈局,可以自動重新加載vaadin表。
+0
SO網站提供相關的ans,所以提供詳細的解釋或者一些例子 – 2013-09-11 08:11:59
0
我剛碰到類似的問題。我有一個由sql支持的表格和一個用於編輯細節+刪除的子窗口。無論是在子窗口還是在表上都有markAsDirty(),setImmediate(true),表格都沒有更新。
解決的辦法是讓從表中SQLContainer,並呼籲該刷新:
Table table = new Table("Contact items");
... // add dataSource, headers etc, and after several calls:
@Override
public void windowClose(CloseEvent e) {
SQLContainer c = (SQLContainer)table.getContainerDataSource();
c.refresh();
}
0
如果你只想刷新表,可以使用表集裝箱數據源通過做這個刷新刪除所有項目並重新添加,就像下面的代碼一樣:
List<Item> items = new ArrayList<>();
for(Object object : table.getContainerDataSouce().getItemIds()){
items.add(table.getContainerDataSource().getItem(object));
}
table.getContainerDataSource().removeAllItems();
table.removeAllItems();
items.add(<yourItem>);
for(Item item : items){
table.getContainerDataSource().addItem(item);
}
0
我剛纔一直在解決這個問題。我用了一個PagedTable ......由我擴展,並添加這樣的方法:
Object[] visibleColumns = getVisibleColumns();
getDataSource().refresh();
setContainerDataSource(getContainerDataSource());
setVisibleColumns(visibleColumns);
refreshRowCache();
這樣我可以用一個彈出插入一個新項目成表,並獲得表更新與新線(有一些額外的代碼可以查看新記錄的頁面)
相關問題
- 1. 如何重新加載Vaadin父視圖沒有表重置排序順序
- 2. 重新加載noOfRowsInSection當表視圖重新加載,xcode
- 3. 重新加載CSS樣式表而不重新加載頁面?
- 4. Swift後重新加載表
- 5. 重新加載表動畫
- 6. jQuery - 重新加載表
- 7. 重新加載Java Applet重新加載
- 8. 重新加載div重新加載XML
- 9. 重新加載不重新加載
- 10. Vaadin格 - 懶加載
- 11. vaadin中的懶惰加載表
- 12. Vaadin 6.8用vaadin加載項創建圖表
- 13. Vaadin替代重負載UI
- 14. 列表刷新/重新加載模板
- 15. Vaadin + JPA +延遲加載
- 16. Vaadin樹。延遲加載
- 17. 重新加載UIViewController
- 18. 重新加載UITableView
- 19. 重新加載UITableView
- 20. 重新加載searchResultsTableView
- 21. 重新加載uiviewcontroller
- 22. 重新加載ViewController
- 23. 重新加載searchResultsTableView
- 24. 重新加載UINavigationItem
- 25. 重新加載XPPageSelector
- 26. 重新加載tabbarviewcontroller
- 27. 重新加載/刷新ABPersonViewController
- 28. python刷新/重新加載
- 29. 刷新/重新加載FileChooser
- 30. 刷新/重新加載uipicker
這個表是否即時('table.setImmediate(true);')? – 2013-04-11 08:02:55
你有沒有自己的表格容器?插入後是否觸發itemSetChangeEvent? – raffael 2013-04-11 09:59:59
你可以嘗試table.refreshRowCache() – 2013-04-11 13:02:02