Usability problems with unbuffered editable DataGrid

I would be interested in a simple unbuffered editable DataGrid example, where rows can be added and deleted. Ideally a row would also be added, if I’m on the last row and hit TAB on the last column. This tends to be harder than I initially thought.

Problems I encountered so far

  1. When you add a generated column with the WebComponentRenderer and a button in it, is is hidden during editing of a row. The button is a delete button and should delete current row.
  2. When you delete a row (Delete button above DataGrid) during an edit, the input fields are still shown for the deleted field, but the input is discarded when you set the focus elsewhere
  3. There is no easy way to automatically expand the grid if the user is on the last column in the last row. This tends to be especially tricky, since there are not many hooks/listeners you can use for the inline editor.
  4. Resizing during edit mode causes display problems. (not a big issue though)
  5. There is no way of removing the edit mode in unbuffered mode, besides the user hitting ESC (See I find a bug in datagrid table about DataGrid inline editor - #9 от пользователя klaus - CUBA.Platform)
  6. Is there a way to set a minimum height for the datagrid, but still let it grow with more rows?