2014-09-02 89 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