私は現在、Webアプリケーションを作成しています。ドメインオブジェクトを表示するのにAjaxFallbackDefaultDataTable
を使用しています。テーブルにはページネーションが含まれており、これまでのところすべてがうまく機能します。AjaxFallbackDefaultDataTableのヘッダーはAJAX経由で更新できますか?
私ができることをしたいもの: IColumn<T>
の私の実装では、自分のヘッダコンポーネントをComponent getHeader(String componentId)
経由で返送しています。このコンポーネントは、テーブルで現在使用されているページとページサイズによって異なります(現在のデータスライスのみを気にする別のページへのリンクが表示されます)。さて、私はテーブルのvoid onPageChanged()
メソッドを実装して、それに従ってカラムを更新するようにしました。
問題: 私は、WicketのAJAXのデバッグウィンドウを使用していますが、それは全体の表は、サーバー上で再レンダリングし、クライアントに送信されることを私に示しています。しかし、ヘッダーは正しく更新されないので、私は永久にページ0に固執しています。デバッガーを使用すると、テーブルが最初に作成されるときにComponent getHeader(String componentId)
が1回だけ呼び出されることがわかります。
質問: AJAXifiedデータテーブルを独自に実装しないとこの問題を解決する方法はありますか?もしそうでなければ、誰かが正しい方向に私を向けることができますか?
確かに、コンポーネント自体を更新することが成功の鍵でした。 Wicket 1.5の新しいイベントシステムのおかげで、これを分離された方法で実装することは、ケーキでした! – r3nj1