ajaxfallbackdefaultdatatableのヘッダーはAjaxを介して更新できますか?
-
27-10-2019 - |
質問
現在、Webアプリケーションを書いています。私はAnを使用しています AjaxFallbackDefaultDataTable
ドメインオブジェクトを表示します。テーブルにはページネーションが含まれており、これまでのところすべてが正常に機能します。
私ができることをしたいこと:私の実装で IColumn<T>
私は自分のヘッダーコンポーネントを介して返しています Component getHeader(String componentId)
. 。このコンポーネントは、現在テーブルで使用されているページとページサイズに依存します(現在のデータのスライスのみを気にする必要がある別のページへのリンクが表示されます)。今、私は実装しました void onPageChanged()
それに応じて列を更新するようにテーブルの方法。
問題:Wicket Ajax Debugウィンドウを使用していますが、テーブル全体がサーバー上でRERENDEREDEDでクライアントに送信されていることがわかります。ただし、ヘッダーは正しく更新されていないため、ページ0に永遠に立ち往生しているように見えます。デバッガーを使用してはっきりとわかります。 Component getHeader(String componentId)
テーブルが最初に作成された場合、1回だけ呼ばれます。
質問:Ajaxified Data Tableの実装を作成せずにこの問題を解決できる方法はありますか?そうでない場合、誰かが私を正しい方向に向けてください。
解決
Headerstoolbarは、ヘッダーを一度に作成します。
各レンダリングの前にヘッダーを再作成する独自のツールバーを実装するか、ヘッダーコンポーネントを書き換えて常に最新のリンクをレンダリングします。