Mass data editor

Hello,

I’m relatively new to Vaadin and I am wondering which components are best suited for implementing a mass data editor with about 100 columns and 100 rows.

The following are the minimum requirements:

  • About 300 columns - the number of columns is fixed (i.e. columns cannot be added or removed)
  • About 100 rows - the number of rows is not fixed (i.e. new rows can be added, existing rows can be deleted)
  • Each cell must be quickly editable (e.g. tab navigation or navigation via directional arrows)
  • It must be possible to tell which cell has the focus in order to offer the user certain actions to perform on the currently selected cell(s)
  • Each column is of a certain data type (Integer, Boolean, String)

The following would be nice to have:

  • Column headers with possibility for colspan (like in com.vaadin.ui.Grid)
  • On-the-fly validation for each cell (e.g. check if the cell’s value is within a defined numeric range). If on-the-fly validation is not possible (e.g. due to performance reasons), it would be sufficient to validate the whole grid on demand (e.g. after clicking a button).
  • Multi-selection based on cells instead of rows
  • Right-click-context-menu for cells
  • Multi-cell-editing (e.g. select multiple cells → right click → edit → editor dialog → all selected cells are updated)

As far as I know, both Table and Grid are not designed for handling 100 columns with reasonable performance. What do you think is the best way to implement such a mass data editor using Vaadin?

Regards
Michael