2

ExtJsのpagingtoolbarを使用していますが、正しく機能していません。すべてのレコードを一覧表示するグリッドが1つありますが、問題ありませんが、カスタマイズされた検索結果をページングする場合は、最初のページが正しく表示されます。クリックして2番目のページを表示すると、元のURLに戻ります(すべてのレコードを表示)。しかし、ストアのURLには検索URLが残っている必要があります。

元のURL:'historico-ocorrencia'

検索URL:'historico-ocorrencia / search'

ボタンをクリックすると、次のコードが実行されます。

formSearch.submit({
                    url: 'historico-ocorrencia/search',
                    method: 'get',
                    params: {
                        dataInicial: time,
                        dataFinal: timeFinal
                    },
                    success: function(form, action) {
                        store.removeAll();
                        store.add(action.result.historicoOcorrencias);
                    },
                });

しかし、ページングツールバーをクリックして2番目のページを表示しても、ボタン検索をクリックしていないため、上記のコードは実行されません。URL'historico-ocorrencia / search'を使用して次のすべてのページを表示し、それでもパラメータを渡す方法が必要です。

よろしくお願いします。ご不明な点がございましたら、お気軽にお問い合わせください。

4

1 に答える 1

2

フォームを送信ボタンから通常のボタンに変更し、そのボタンのハンドラーで次のようにする必要があります。

handler: function (){
    store.getProxy().url = 'historico-ocorrencia/search';
    store.getProxy().extraParams.dataInicial = time;
    store.getProxy().extraParams.dataFinal = timeFinal;
    (a reference to your paging toolbar).doRefresh();
}

現在の機能が機能しない理由は、ストアがすべてのページについて常にサーバーにリクエストし直しており、データのリクエスト方法を変更するために何もしていないため、リクエストを実行したのと同じ方法で実行するためです。ずっと。

于 2013-01-15T18:40:09.210 に答える