Java vaadin表字段定制

标签 java styles vaadin

我有以下属性要在 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/

相关文章:

CSS : customize word spacing property

spring - 如何使用 Vaadin + Spring 创建 MVP 架构?

java - Vaadin:将值从主页传递到窗口页面

java - 使用 vaadin-cdi 时以编程方式设置上下文参数

java - 如何在 finish() 中开始一个 Activity

java - 执行乘法最有效的方法是什么?

java - 我的返回单无法访问

css:使颜色颜色像不透明一样变浅,但不透明

Java Servlet 如何按用户角色过滤页面

javascript - 在 javascript 中设置子字符串的样式