2012-01-10 11 views
0

サーバーから約200レコードをロードするGrid Panelがあります。ページングバーを実装して、ページあたり10個のレコードをロードできるようにしています。しかし、問題は、ユーザーがソートする列(Customerなど)をクリックしたときに、ローカルの10行だけがソートされることです。Ext JS 4でクライアント側の並べ替えを実行するにはどうすればよいですか?

次のページに進むと、ソートされずに混乱します。私はすべての200レコードを一度に引き下げて、その方法でページングを試みることを考えました。私はそれが最良の方法ではないことを知っていますが、私は別の解決策を考えることはできません。

PLUSでは、私たちのリモートソーティングルーチンはタイミング制約のために実際には変更できません。 offsetlimitしか処理しません。だから私は簡単にすべての200をもたらすことができますが、私はどのように列が並べ替えを変更することはできません。

ありがとうございました。

答えて

2

あなたがそれをやっているやり方は、私が100%の理由ではないにもかかわらず、200の結果を所定の場所に並べ替えることができないためだと思います。ユーザーが選択したソートオプションを覚えて、これを次のページに転送する方法を実装するだけで済みます。

EDIT:http://docs.sencha.com/ext-js/4-0/#!/guide/dataにはソートに関するセクションがあります。また、http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.SortTypesを見てください。

+0

私たちのサーバーサイドコードでは列によるソートができません(残念ながら)、すぐに変更することはできません。そのため、グリッドには10〜15個の列があります。一度に200レコードすべてを表示したくないだけです。だから、 "次のページ"をクリックすると、あなたは遠隔地ではなくローカルに引っ張ってきます。それが意味をなさないならば。 – cbmeeks

+0

ああ、私は混乱していました。「だから簡単に200をすべてダウンさせることはできますが、列のソート方法を変更できません。 – Andrew

+0

申し訳ありませんが、私は 'サーバー側の列がどのようにソートされるかを変更することはできません。基本的に、検索(サーバー側)は長い間石に刻まれています。ですから、私はクライアント側だけをソートすることができます。 – cbmeeks

関連する問題