2

私は長い間 JQGrid を使用してきましたが、最近、大きなレコードセットを使用しているときに問題が発生しました。scroll:1 オプションを使用したときに発生する自動ページングは​​、レコードセットに約 100 万件を超えるレコードが含まれていると機能しなくなります。(私は 700K をテストしました - 動作し、110 万で動作しません)。一度に 50 件のレコードのみをリクエストしています。

scroll:false に変更すると、ページャーが表示され、正しく機能します。scroll: true を使用しても機能しません。

機能しないということは、要求されたレコードの最初のページしかスクロールできないということです。下にスクロールしても、JQGrid はレコードの次のページを要求しません。

誰もが回避策を見つけましたか? jqgridの最新バージョンを使用しています。ありがとう!

4

1 に答える 1

1

問題の根本は、JavaScript のすべての数値が 64 ビットの浮動小数点数であることです。

生成されたテーブルを FireBug で見ると、ui-jqgrid-bdiv 内に、高さが rowHeight*records ピクセルに設定された div があり、それが十分に大きくなると、浮動小数点形式で表されることがわかります。 、約 300 万行の 7.22834e+7px のように。

jqGrid の作成者は parseInt() と parseInt(7.22834e+7) == 7 を多く使用するため、計算はそこから横向きになると思います。一番下までスクロールすると、グリッドはすべてのデータがロードされたと単純に認識します。

rowNum を大きな数値に設定しようとしましたが、まだデータの最初のバッチしかロードされません。

申し訳ありませんが、scroll=false を設定する以外に回避策はないと思います。

于 2013-10-23T00:26:03.430 に答える