2

我有一个 vaadin 14 网格,想要更改网格中日期字段的格式。我一直在寻找某种渲染器或设置格式的方法,例如 SimpleDateFormat。但我经常对 vaadin 的创建者感到惊讶。他们经常改变他们的 api 并使情况变得更糟。我尝试使用弹簧注释:

@DateTimeFormat(pattern = "yyyy-MM-dd")

在 getter 和元素类型的字段中。但它不能以这种方式工作。日期被呈现为“TUE Apr ...”,这是迄今为止最无用的默认格式。我认为它比所有的 vaadin 版本更没用,它迫使开发人员一遍又一遍地学习相同的东西。在你把它复杂化之前,它很简单。

如何在 vaadin 14 应用程序中更改网格中的日期格式?

    grid.addColumn(Pojo::getBirthdate).setHeader(translate("date.of.birth"));
4

2 回答 2

3

Grid#addColumn非常通用,因为它允许使用 lambda 表达式。因此,您可以轻松地创建一个方法,例如formatDate,返回格式化的日期,然后使用

grid.addColumn(item -> formatDate(item.getBirthdate)).setHeader(translate("date.of.birth"));
于 2021-08-25T09:09:14.310 回答
2

我在 vaadin 文档中找到了它:https ://vaadin.com/docs/latest/ds/components/grid

grid.addColumn(new LocalDateRenderer<>(
            Pojo::getBirthdate, "MM/dd/yyyy"))
            .setHeader("Due");
于 2021-08-25T09:19:45.587 回答