2013-08-23 65 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); 

你的代碼和我之間的區別是:

  • 在代碼中,你更換(這意味着該行從表中刪除,然後一個新的行會被添加到表)。
  • 在我的示例中,我只替換了行的數據。

希望它有幫助