Grid questions

With respect to the new Grid component, I have two questions:

  1. Will it be possible to (optionally) render arbitrary HTML in a cell?
  2. Will the client-side component be overridable so that I can create GWT widgets for each cell that do not have associated Vaadin connectors?

I’m doing both of these by deriving from the Table component, but it’s very hacky and I hope that Grid will allow this by design.

Both of these things will be supported, by design.

  1. Yes: we will provide a renderer API that can take data from an arbitrary data source (Vaadin server-side, an on-the-fly computed, REST, or any other you might need - but you might need to implement your particular variant yourself), and convert into something to be rendered into a grid cell.

  2. Technically, this is a “no”. Not because widgets in cells wouldn’t be supported, but “no” because you don’t need to do that - the target is to have those work out of the box.

Grid will be the first Vaadin widget that is designed specifically to work also without Vaadin: It works as a Vaadin Component, but also as a stand-alone GWT Widget. To be even more specific, the client-side is split into two levels of abstraction: We have the high-level Grid widget that will provide convenient APIs for data handling and general table-like behavior. Underneath Grid, we have a low-level widget that we call Escalator. Its API, while designed to be usable outside of the context of “Grid”, will open the hood for technical (and potentially tedious) stuff that Grid will handle for you for free.

You will able to choose which abstraction you want to use on the GWT side.

Thanks for your detailed reply, this sounds very promising. I’m looking forward to Grid!