5

What is the best way to replace a table row in Vaadin (6 and 7)? I use BeanItemContainer. The bean is an entity and has changed (not the ID).

I think this cause unnecessary method invocation and/or object creation:

table.removeItem( item );
table.addItem( item );
4

1 回答 1

3

据我所知,最好的做法是:

BeanItemContainer<DataModel> tableDataSource =  new BeanItemContainer<>(DataModel.class);
table.setContainerDataSource(tableDataSource);

当要替换一行时,只需在tableDataSource中替换该行的数据即可:

tableDataSource.removeItem(item);
tableDataSource.addItem(item);

您的代码和我的代码之间的区别是:

  • 在您的代码中,您替换了该行(这意味着该行已从表中删除,然后将在表中添加一个新行)。
  • 在我的示例中,我只是替换了row 的数据

希望能帮助到你

于 2013-08-23T16:14:35.360 回答