格式化vaadin表值?

时间:2014-08-05 00:01:03

标签: java containers vaadin vaadin7

问题解决了。使用JPAContainer不需要使用addContainerProperty()。我评论线和宾果,现在使用格式化的值。

现在有效!

final Table table = new Table("Formatted Table") {
    @Override
    protected String formatPropertyValue(Object rowId,
            Object colId, Property property) {
        // Format by property type
        if (property.getType() == Date.class) {
            SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
            return df.format((Date)property.getValue());
        }

        return super.formatPropertyValue(rowId, colId, property);
    }
};

// not need with jpacontainer
//table.addContainerProperty("Time", Date.class, null);

1 个答案:

答案 0 :(得分:4)

在Vaadin 7中,您可以为组件添加转换器。没有必要覆盖/扩展Table类。

table.setConverter(PROPERTY, new StringToDateConverter());

您甚至可以通过简单地覆盖StringToDateConverters public DateFormat getFormat(Locale locale)方法来更改DateFormat。

更多信息herehere