如何将生成的列添加到 Vaadin 8 Grid?

How to add a generated column to Vaadin 8 Grid?

Vaadin 8 中似乎不存在 GeneratedPropertyContainer。

我们如何将生成的列添加到 Vaadin 8 Grid?如果您能提供一个例子,我将不胜感激。

如果您将 bean class 传递给 Grid 的构造,那么它会将所有属性作为列添加到网格中。

如果您只想将某些属性作为列,则不要将 class 传递给构造函数并像这样手动添加您的列:

grid.addColumn(Address::getStreet);
grid.addColumn(Address::getHouseNumber);
grid.addColumn(Address::getPostalCode);
grid.addCOlumn(Address::getCity);

如果要添加生成的列,只需使用 addColumn 添加即可

grid.addColumn(address -> {
  // put your calculations for the column here
  return address.getStreet() + " " + address.getHouseNumber();
});

生成的列将像这样工作:

grid.addColumn(address->address.getStreet()+" "+address.getHouseNumber()).setCaption("Street");