Migrating from Table to V8 grid

I’m trying to migrate my v7 app which uses the viritin MTable heavily with all sort of layouts inside columns. For instance a horizontal layout with 1-3 buttons to perform certain actions. And an in line commentbox (see attachment)

In V8 the table is no longer available and I need to migrate my tables to the grid implementation. However, the grid just renders text and some other basic stuff using renderers but not complex sublayouts or (as I understand) different row heights.

As far as I can see the only thing I can do is to implement custom renderers for my different table columns to get it working in a similar way as my old app, which is not ideal and would mean I might need a different aproach to performing actions on the table data.

Am I missing some simple solution here (that does not involve compatibility stuff using the old table)?
31208.png

I haven’t tried v8 yet, but in my v7 app I replaced Table with Grid(because of this
https://github.com/vaadin/framework/issues/8707
):

  1. Wrap your data inside GeneratedPropertyListContainer
  2. Add your custom columns to this GeneratedPropertyListContainer as generated properties
    GeneratedPropertyListContainer.addGeneratedProperty(“your_custom_column_name”, new CustomColumnGenerator());
    Your CustomColumnGenerator class must extend PropertyValueGenerator
  3. Make your Grid use this container as data source
  4. Set renderer for you custom column:
    grid.getColumn(“your_custom_column_name”).setRenderer(new ComponentRenderer()); You will need this addon here
    https://vaadin.com/directory#!addon/componentrenderer

    If your custom column is expected to have dynamic height, forget about grid(at least in v7 version, I haven’t tried it in v8)
    This is how you can change grid rows height of particular grid
    https://vaadin.com/forum#!/thread/15297878/15302575