我有以下属性要在 Vaadin 表中显示
public class Item
{
String itemName;
String itemSource;
String itemStatus;
...
}
接下来,我使用 ItemContainer 检索数据,并将其连接到表:
ItemContainer container = new ItemContainer(Item.class, app);
table.setContainerDataSource(container);
表格将根据项目类别显示数据。 问题:我可以“以某种方式”“动态”更改字段的数据类型吗?所以我想将“itemStatus”更改为“Label”,因为以正确的样式显示 HTML 标签。
例如“itemStatus”中的文本为:<b>Status is:</b><i>Completed</i>
。我想在表格中查看格式化字符串状态是:已完成
最佳答案
您可以通过添加具有相同 ID 的生成列来覆盖 Table
中的容器属性:
tablet.addGeneratedColumn("itemStatus", new ColumnGenerator() {
@Override
public Object generateCell(Table source, Object itemId, Object columnId) {
Label label = new Label("" + source.getContainerProperty(itemId, columnId).getValue());
label.setContentMode(ContentMode.HTML);
label.setSizeUndefined();
return label;
}
});
关于Java vaadin表字段定制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28234880/