列的Vaadin Cell表现为链接

时间:2011-11-16 16:10:05

标签: rendering vaadin

我在Vaadin中有一个表,它根据树中选择的数据类型显示数据。对于URL类型数据,它显示一行(两列)URL,另一行显示实际URL,但显示为纯文本。我希望该URL可以在另一个窗口中单击并打开。

我尝试在该案例中添加一个链接,但它显示的内容类似于com.vaadin.ui.Link@596bf9而不是实际链接。这是我使用的代码:

xincoTable.addItem(new Object[]{header, header.equals("URL") ? new Link(value,
                                new ExternalResource(value)) : value}, i++);

值具有实际的URL字符串。我看到了教程,但它使用生成的列,所以我不确定如何将它拉出来。我想部分问题是在这种情况下只需要该单元格的行为,它在所有其他情况下都是文本,当然在其他行的列中也有其他内容。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

您的问题是包含Link的列的类型是String。列的类型应为Component:

table.addContainerProperty("mylinkproperty", Component.class, null);

然后将属性的值设置为Link或Label,而不是Link或String。