2013-08-23 42 views
5

在Vaadin(6和7)中替换表行的最佳方法是什么?我使用BeanItemContainer。这个bean是一个实体,并且已经改变(不是ID)。Vaadin表行更改最佳实践

我想,这造成不必要的方法调用和/或创建对象:

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

回答

3

据我所知,最好的初步实践是:

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

当你想更换一排,只需更换该行在tableDataSource的数据:

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

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

  • 在代码中,你更换(这意味着该行从表中删除,然后一个新的行会被添加到表)。
  • 在我的示例中,我只替换了行的数据。

希望它有帮助