Hello again
I have almost completed the big tutorial after reading (most of) the book of Vaadin.
I can’t praise enough the quality of the documentation, essential for the adoption of a big project like that. You guide in a clear way into a non-trivial, useful/real world project, showing Vaadin is no-nonsense and a pleasure to work with.
I will soon attack a project of my own, a prototype of Web interface to visualize our data. We already have a primitive Web interface with JSP/servlets, quite static and ugly, I hope to make something more modern!
One issue I foresee is the format of data, and the way to represent it on screen. I thought I should ask for collective wisdom/intuition/experience to have some advices and avoid some pitfalls/brick walls (no, that’s not a video game!).
We have tri-dimensional data: a number of elements (nodes) have various kind of data attached to them, varying with time. So, three axes of data: elements, time, values.
In our application, and in the current Web interface, we display that by having a classical table, eg. with nodes on the row, time on the columns, and on each cell, we have a sub-table with the various values for each kind of data.
Looks like that, for example:
As you can see, we can swap the dimensions, but that’s irrelevant to my problem.
We have headers not only on the columns, but also on the rows themselves.
The data is static, there is no need to edit it, but we want to be able to filter it, to sort it, to hide columns or rows, perhaps to select cells, etc.
So, my question is simple: what do you think is the best way to display this data with Vaadin?
I see at least three ways:
- Make a big table with complex data structure so everything falls in place. I am not sure how to handle the multiple cell headers on the left, though.
- Make a master table, and on each cell, put a headless sub-table. That’s actually our current HTML structure. We had to tweak CSS to have the inner tables to stick to the cell borders…
- Idem, but just add a bunch of labels with a vertical layout. Might need extra code to handle selection. Perhaps the best option in complexity level.
Any opinion/idea? Has somebody done something similar? Maybe I have missed some existing GUI widget? Perhaps in the GWT world?
Any help is welcome! Thanks in advance.