1

私はjQuery用のDataTablesプラグイン(http://www.datatables.net)を使用して、クライアント上の表形式のデータを検索、並べ替え、ページ付けしています。実装のシンプルさとスムーズなユーザーエクスペリエンスは大きな勝利です。

今、私は同じ機能(検索、並べ替え、ページ付け)をより大きなデータセット(最大1000レコード)に実装する必要があります。これには同じプラグインを使用したいと思っていましたが、テーブル内のレコード数が増えると、DataTablesのパフォーマンスが大幅に低下するようです。IE8では、500tr秒のテーブルにより、「このページのスクリプトの実行速度が低下しています」というアラートが既に発生しています。

データセットはそれほど大きくないので、可能であればクライアントでこれを実行したいと思います。

レンダリングされたマークアップを変更したり、一部の機能を無効にしたり、データをHTMLではなくJSONとしてフィードしたり、最新のブラウザー(IE7 +、 FF2 +、Chrome)。

あるいは、同様の機能を提供できる他のjavascriptライブラリ、できればjQueryはありますか?

4

3 に答える 3

1

さらにパフォーマンステストを行った結果、並べ替えによってパフォーマンスの問題が発生していることがわかりました。jQuery DataTablesは、IE6では最大3000レコードのテーブルをページ分割して検索でき、最新のブラウザーでははるかに多くの機能を備えています。

DataTablesをで初期化するだけ"bSort":falseで、チャンピオンのようになります。

于 2010-10-28T18:50:26.227 に答える
0

これは、DataTables(v1.7.5+)の最近のビルドで修正されています。作成者は、ソートの実装を変更して、evalまたは$ .inArray()を使用しないようにしました。

直接ダウンロードリンク: http ://datatables.net/download/build/jquery.dataTables.nightly.js

変更ログから:パフォーマンス:$。inArray()のeval()を使用しないように、並べ替えの実装を書き直しました。inArrayは、IEに深刻な悪影響を及ぼし、「スクリプトの実行速度が遅い」というエラーメッセージを表示する操作をカウントすることがわかりました。新しい実装では、値/キーの逆マッピングを使用して、単一のオブジェクトパラメータの取得と同じくらい高速にルックアップを行います。

次の情報(またはそれ以降)でビルドを取得します。毎晩:1.7.5.dev2010年11月28日日曜日14:42ダウンロードダウンロード分メモ

于 2010-12-02T22:33:09.463 に答える
0

私はflexigridがもっと好きです:

http://www.flexigrid.info/

レコード数はページごとに実装されているので問題ありません。したがって、一度に1000レコードを管理していません。

于 2010-10-21T12:16:33.643 に答える