2014-09-02 28 views
0

我有一個多行單列表,它將從List<String>填充。這個List<String>通過一個模式窗口填充,當這個List<String>有更新時,表必須被更新。在兩個vaadin組件之間共享列表<String>

我如何通過Vaadin實現這個目標?

任何指針或例子都會很有幫助。

謝謝

+0

您可以持有對該窗口的引用,添加一個Window.CloseListener,並在窗口關閉時檢索修改後的列表並更新表格。 – Morfic 2014-09-02 07:38:30

+0

@Morfic謝謝,是的,我按照你的建議從Modal中獲得價值,但問題在於更新表格。我無法更新它出於某種原因:( – 2014-09-02 07:39:58

+0

你提到你的標籤推:這是全部由一個用戶在一個會話? – cfrick 2014-09-02 07:40:26

回答

3

您可以使用相同的容器爲編輯字段和要顯示的表。一定要手動啓動刷新(https://www.vaadin.com/api/com/vaadin/ui/Table.html#refreshRowCache())或聽取它們(https://www.vaadin.com/api/com/vaadin/data/Container.ItemSetChangeListener.html

+0

你是對的,實際上,OP *應該使用一個容器(例如在這種情況下是BeanItemContainer),並且爲這兩個表使用相同的容器實例。手動更新任一表,因爲Table組件在內部處理對其底層數據組件的更改。所有那些OP不想與Vaadin Push同步兩個不同的UI實例的... – 2014-09-09 06:05:43