Vaadin Table with Buffered Modifications and Visual Row States


Check out the demo of Lazy Query Container 1.1.0 to see implementation of lazy loading table container supporting sorting, buffered modifications (add row, remove row and edit cell values) and visual row state indicator column. In other words you can have your table to keep changes in memory and commit/discard to data store when user clicks save/cancel. This enables forms containing very large tables to have edit mode which operates entirely in memory and helps user to track the changed on those tables.

Known issues:

  1. In the demo the cell value modification to row state update is lagged as Vaadin table default editor fields do not immediately send the changes to container. This could probably be fixed by implement custom fields?

  2. The demo is hosted in Liferay Portal / https and as Vaadin default widgetset for portals loads ga.js over http you get warning about mixed content.


Updated the demo to be standalone application instead of portlet to remove the http/https problem. Fixed also the row height resizing problem by fixing the height of the embedded objects hosting the row status icons.


Possibly a dumb question. What is the significance of the buffered modifications given that Table already implements Buffered? Is it that row additions and deletions are now buffered which Table doesn’t handle? Am I correct that Table already handles the buffering of cell value changes?



The value of a table is its selection, and that is what its buffering applies to.

Thanks. I understand how buffering works in Table. The description of the add-on says:

Since version 1.1.0 Lazy Query Container also supports adding items, modifying items and removing items. The changes are buffered and can be either commited or discarded. 

I was wondering whether the add-on supports buffering just because Table does, or because it does something extra?