通过Vaadin中的Link打开弹出窗口

时间:2015-03-14 09:28:50

标签: vaadin

我在我的应用程序中使用Vaadin Framework。我想用Vaadin Link打开一个弹出屏幕。我知道打开popup thrugh按钮但我需要通过Link打开弹出窗口。任何人都可以提供帮助,这是我的代码:

Link link1 = new Link(String.valueOf(rs.getInt(1)), new ExternalResource("#")); 

_reportTable.getItem(dashboardDataRowId)
.getItemProperty("todo").setValue(link1);

1 个答案:

答案 0 :(得分:2)

正如Book of Vaadin - Components - Link中所解释的,Link只应用于外部资源的超链接,因为它只不过是一个锚html标记的包装器,因此它不会触发任何服务器端事件。因此,您无法在服务器端做出反应来打开弹出窗口或执行其他逻辑。

  

链接是一个常规的HTML超链接,即一个锚点   由浏览器本机处理的元素。与点击时不同   单击链接的按钮不会在服务器端引起事件。

你真正想要的是vaadin按钮被设计为超链接。您可以通过创建常规按钮(它可以打开服务器端事件并打开弹出窗口)然后添加适当的样式来完成。

Button linkButton = new Button();
linkButton .setStyleName(BaseTheme.BUTTON_LINK);

始终确保调用addStyleName()而不是setStyleName(),因为它只会将新样式添加到已存在的其他样式列表中,并且不会使用您唯一的新样式覆盖该列表。