自定义vaadinbean属性到表单元格的转换
我们有一个BeanItemContainer,我们显示为一个Vaadin表,它工作得非常好。 唯一的问题是bean属性之一是URL,我们希望它是一个链接 将“a href=…”添加到setURL()中的url中-函数起作用,但自定义vaadinbean属性到表单元格的转换,vaadin,javabeans,Vaadin,Javabeans,我们有一个BeanItemContainer,我们显示为一个Vaadin表,它工作得非常好。 唯一的问题是bean属性之一是URL,我们希望它是一个链接 将“a href=…”添加到setURL()中的url中-函数起作用,但 我觉得它不是很优雅的代码 在使用get方法之后,其他调用方现在必须从中除去标记 向表中添加单击侦听器也可以,但是 它可能会打开一个窗口而不是一个选项卡 它可能被弹出窗口阻止程序阻止 有没有办法控制Vaadin将bean属性值转换为表格单元格的过程?在表格上使用Column
有没有办法控制Vaadin将bean属性值转换为表格单元格的过程?在表格上使用ColumnGenerator,并生成链接组件,例如
table.addGeneratedColumn("link", new Table.ColumnGenerator() {
@Override
public Object generateCell(Table source, Object itemId, Object columnId) {
Item item = source.getItem(itemId);
String columnValue = String.valueOf(item.getItemProperty(columnId).getValue());
String urlValue = columnValue; // Assume columnValue contains full url including protocol, e.g. http://stackoverflow.com
String urlDescription = columnValue; // Description is the same as the
return new Link(urlDescription, new ExternalResource(urlValue));
}
})
有关更多详细信息,请参见和谢谢,这正是我所需要的!