My question is how to add layouts and buttons to grid in vaadin 8
You can use grid.addComponentColumn() for that.
Example:
grid.addComponentColumn(person -> {
Button button = new Button("Click me!");
button.addClickListener(click ->
Notification.show("Clicked: " + person.toString()));
return button;
});
Read more here: https://vaadin.com/docs/v8/framework/components/components-grid.html