2016-08-10 13 views
0

私はWicket Kendo UIライブラリでWicketを使用しています。Wendetウィザードで剣道UIグリッドが正常に動作しない

剣道グリッドを含むウィザードがそのステップの1つにあります。このステップに到達すると、テーブルは正常に表示されますが、次のステップに移動して戻ってくると、テーブルデータがテーブルに表示されず、空のテーブルとスプラッシュ画面が表示されます無期限に。

ネットワークの検査テーブルでステップを表示するときに、テーブルマークアップとjsを持つxmlを含むリクエストとテーブル行を含むjsonデータを含むリクエストが2つあることが分かりました。両方の要求は正常に終了しますが、何らかの理由でテーブルがその行のデータを2番目のテーブルから取り出すことができません。

この問題は毎回発生することはなく、時にはテーブルがデータを正しく取り上げることもあります。

私は以下を見つけました:Wicketウィザードは、ステップを切り替えるときにMarkupContainer.replace(コンポーネントの子)メソッドを使用するので、問題はウィザードなしで再現できます。ページ上のテーブルを別のものに置き換えて、それを再び元に戻すだけです。

テーブルがこのような奇妙な仕方で動作する理由は誰にも分かりません。それは、新しいマークアップの種類が、受信したデータや何かを置く場所を見つけることができないjsコードとのリンクを失うからですか?

答えて

1

問題がどこにあるのか分かりました。次のステップをレンダリングすると、Wicketウィザードは前のステップのマークアップを置き換えます。そうすることで、jqueryキャッシュ($ .cache)から関連するキャッシュデータが削除されます。剣道グリッドはそのデータを使用し、前のステップが復元され、グリッドがレンダリングされると、そのデータを見つけることができません。だから、私の場合、解決策は、グリッドがレンダリングされてキャッシュデータが再投入され、すべてが正常に機能するように、次のステップに移動する前にテーブルを隠すことでした。

関連する問題