デュアルページング(クライアント側とサーバー側)を行う簡単な方法はありますか?jqGridデュアルページング(クライアント側とサーバー側の両方)
今は固定 'rowTotal'(rowTotal> rowNum)を使用してクライアントサイドページング(loadonce = true、非常に高速で動作します)を使用しています。問題は、rowTotal < Total-Records-in-DBです。そのため、データベースからの最初のrowTotalレコードとクライアント側のページングだけを表示しています。 DBからすべてのレコードをロードすることはオプションではありません(そのため、ページンググリッドを使用する理由はpです)。
一方、サーバー側のページングだけではパフォーマンスが低下します(そのため、AJAXコンポーネントを使用する理由があります)。だから私は、両方の世界で最高の成果を上げることができると考えました。
これは自動的に実行されるのが理想的です。これは次のとおりです。ページャは最初のrowTotal/rowNum結果をメモリにロードされたNページの最初のものとして表示する必要があります(クライアント側)。ページN + 1にジャンプするときに、バックエンドにヒットし、次の行の結果を取得する必要があります。私が今見ている問題は、結果セットのサイズをデータベースのレコードの代わりにrowNumで割ったものに基づいてページ数が計算されていることです(多くのページャプロパティは不変です)。(
これは、任意の意味をなさない?jqGridのコードをハッキングすることなく、これを実現する簡単な方法はありますか?
よろしく!
+1 2番目と3番目の段落です。 (@NicoDB - 純粋なサーバー側のページングはいつも私にとってもうまくいっています。) – JasCav
迅速な対応に感謝します。並べ替えに関して、それは私が欲しいものです:インビュー(ページ単位で)並べ替え。私は外部のフィールドを使用して、サーバーサイドの結果セットを事前にフィルタリングし、グリッドにデータをプッシュします。なぜなら、それらは巨大で非常に複雑なためです(多くの結合、パフォーマンスは関係ありません)!私が達成しようとしているのは、onPagingイベントで簡単に行うことができます。唯一の問題は、ページャー情報が不正確で読み取り専用であることです。( – NicoDB
@NicoDB - これは問題ありませんか? 「ページャ情報が不正確で読み取り専用です」という同じ問題に直面しています。 – Vipresh