How to add a generated column to Vaadin 8 Grid?

2019-04-07 19:28发布

Looks like GeneratedPropertyContainer does not exist in Vaadin 8.

How can we add a generated column to Vaadin 8 Grid? I appreciate if you can provide an example.

2条回答
SAY GOODBYE
2楼-- · 2019-04-07 19:40

A generated column would work like this:

grid.addColumn(address->address.getStreet()+" "+address.getHouseNumber()).setCaption("Street");
查看更多
聊天终结者
3楼-- · 2019-04-07 19:45

If you pass the bean class to the constructure of Grid then it will add all properties as columns to the grid.

If you want to only have some properties as columns then don't pass the class to the constructor and add your columns manually like this:

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

If you want to add a generated column just add it with addColumn

grid.addColumn(address -> {
  // put your calculations for the column here
  return address.getStreet() + " " + address.getHouseNumber();
});
查看更多
登录 后发表回答