1

いくつかのアイテムを含むデータテーブルがあります。データテーブルには、テーブル タグにいくつかの css があります。dataproviders モデル リストを更新し、コンポーネントを ajax で送り返すと、css がレンダリングされません。

ただし、ajax を使用してページ全体を送信すると、テーブルは正しくレンダリングされます。

例:

<wicket:panel>
  <table class="striped">
  </table>
 </wicket:panel>

この css クラスは、奇数と偶数の異なる css を提供します。

これは、データプロバイダーを変更した後にコンポーネントを更新する方法です。

ajaxRequestTarget.add(MyPage.this.get("myPanel")); //this panel contains the table

データは追加されますが、css マークアップはなくなります。ページを更新すると、css が元に戻ります。

ajaxRequestTarget.add(MyPage.this); //send the entire page

これは機能しますが、ページ全体が更新されます (これにより、ページが上にスクロールします。

コンポーネント/パネルを 1 つだけ送信するのではなく、ページ全体を送信すると、コンポーネントのレンダリングにどのような違いがありますか?

私はクロムを使用しています。

4

1 に答える 1

1

jQuery 経由でスタイルをレンダリングする場合は、正しく再描画するために再度呼び出す必要があります。

ajaxRequestTarget.appendJavascript("renderMethod('.striped');");
于 2013-01-11T06:25:04.757 に答える