Java vaadin 表字段定制



>我有以下属性要在Vaadin表中显示

public class Item
{
String itemName;
String itemSource;
String itemStatus;
...
}

接下来,我使用 ItemContainer 检索数据,并将其连接到表:

ItemContainer container = new ItemContainer(Item.class, app);
table.setContainerDataSource(container);

该表将根据 Item 类显示数据。问题:我可以"以某种方式"更改"动态"字段的数据类型吗?所以我想将"itemStatus"更改为标签,因为以正确的样式显示 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;
    }
});

相关内容

  • 没有找到相关文章

最新更新