0

だから私はちょっと面白い問題を抱えています。私は、データテーブルと、webresource を使用して xml データ ファイルを取得する Fusionchart (フラッシュ チャート) を含む改札ページを持っています。私が抱えている問題は、データテーブルでページ番号または並べ替えリンクを使用すると、ページが再読み込みされ、URL が変更されて、グラフがデータを取得できなくなることです。

例: 並べ替えリンクを使用する前 (このデータ URL はチャートで機能します) vreports/wicket:interface/:5:tabs:panel:prodGraph::IResourceListener:: (これはベース ページの URL です: /vreports.5)

並べ替えリンクを使用した後 (このデータ URL は機能しません) vreports/wicket:interface/:5:tabs:panel:prodGraph:1:IResourceListener:: (ベース ページ URL: /verports.5.1)

私の質問は、グラフが使用する Web リソース URL をデータテーブル リンクから分離するにはどうすればよいですか? 問題は、追加される .1 にあることがわかります。複数回クリックすると、1 ずつ増加し、Web リソース URL の変更が一致します。特に奇妙なのは、並べ替え機能を使用した後にページを更新すると、並べ替えは有効のままですが、グラフ (および正しい URL) が戻ってくることです。私はウィケットに不慣れで、これに関してURL構造がどのように機能するかについて多くの情報を見つけることができません....何か考えはありますか?

前もって感謝します!

サム

4

2 に答える 2

0

最終的にデータテーブルを AjaxDefaultFallbackDataTable に変換し、すべてのページネーションと並べ替えを Ajax で行ったので、ページが更新されないため URL は変更されません。AjaxDefaultFallbackDataTable は DataTable と同じ DataProvider を使用します。AJAX ですべてを処理するだけなので、同じ問題を抱えている人にとっては簡単で好ましい代替手段になる可能性があります。文字通り、私が変更しなければならなかったのは、DataTable があるすべての場所でした。それを AjaxDefaultFallbackDataTable に切り替えたところ、うまく機能しました。

見てくれてありがとう!サム

于 2012-07-03T03:02:01.153 に答える
0

ソートに OrederBYBorder を使用していると思います。

これを試してみてください

this.add(新しい AjaxFallbackOrderByBorder(id,fieldName, issueSortable) {

                private static final long serialVersionUID = 1L;
                @Override
                protected void onSortChanged() {
                    dataView.setCurrentPage(0);
                }
                protected void onAjaxClick(AjaxRequestTarget target) {
                    target.addComponent(componentName);
                }
   }); 

また、BookmarkablePageLink を使用してこのページにアクセスするか、StatelessLink を使用してこれらのリンクを使用して fusionchart ページにアクセスすることを意味します。

于 2012-06-28T07:47:13.837 に答える