[Table] Update data on view with BeanItemContainer

Hi!
I fill a table with a BeanItemContainer. I have an action on my table which change a data of a row and I’d like to update the view without reload all the table.
I try to do “requestRepaint()” but it always modify the color of my row.
Is it possible?
Julie

Unfortunately table does not support partial updates.

Some possible ways of working around this:

  • Instead of putting data directly to table, put components (Labels?) to table and update them. Unfortunately this could slow table rendering down
  • Customize the table implementation - extend Table component on client and server sides to add this functionality. Unfortunately the table implementation is fairly complex and thus figuring out how to do the customization could take some time.

Created a ticket for this feature:


http://dev.vaadin.com/ticket/3171

(has been planned for years, but not implemented or really scheduled)

I dont know why if I use table together with a form for each row like ‘HelloVaadin’ example, after commit the form, data in table will be updated also but if I use only the table and use ((Company)table.getValue()).setName(“name”), it does not update the according information.
Any idea?

anyway, using this way it works:
table.getItem(table.getValue()).getItemProperty(“name”).setValue(“my company”);