2012-01-09 13 views
0

Wicketのテーブルに行を動的に追加することができます。ただし、フォームが送信されると、新しく作成された行は消えます。私は複数の提出のためにこれらの行を再利用したいと思います。このようなことは可能でしょうか?解決策を見つけようとするとき、私は方法ListView.setReuseItems(true)を見つけました。これは、次のサブミットの元の行の値を保持しますが、新しく作成された行は削除されます。ありがとうございました!Wicketで永続的な行を動的に追加できますか?

+2

いくつかのコードを表示できますか?テーブルのバッキングリストに新しい行を追加する必要があります。 – bert

答えて

1

コードを投稿していないので、新しい行を追加するためにコンポーネント階層を手動で変更していると仮定しています。

より良いアプローチは、基礎となるモデルオブジェクトからテーブルを生成することです。要求の間に状態を維持するようにモデルが設計されている限り、テーブルの状態全体が安全にセッションに格納されます。このようにして、新しい行を追加するには、モデルオブジェクトに追加してテーブルを再度レンダリングさせるだけです(例えば、Ajaxやページリフレッシュなど)。

ただし、膨大な量のデータを処理する場合は、すべてをセッションに格納することはお勧めできません。その場合は、メモリフットプリントをできるだけ低く保つために、より洗練されたモデルが必要です。しかし、一般的なアイデアは変わりません。モデルがデータを処理し、コンポーネントがプレゼンテーションを処理します。

関連する問題