5

Vaadin (6 および 7) でテーブルの行を置き換える最良の方法は何ですか? BeanItemContainer を使用しています。Bean はエンティティーであり、変更されています (ID ではありません)。

これにより、不要なメソッド呼び出しやオブジェクト作成が発生すると思います。

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);

あなたのコードと私のコードの違いは次のとおりです。

  • コードでは、行を置き換えます(行がテーブルから削除され、新しい行がテーブルに追加されることを意味します)。
  • 私の例では、行のデータを置き換えるだけです。

それが役に立てば幸い

于 2013-08-23T16:14:35.360 に答える