6

ExtJS Gridを使用していますが、3000 以上のレコードでかなり遅くなります。ソートには約 4 秒かかります。

テーブルでページネーションを使用することを考えています。ただし、ドキュメントを読んだ後でも、extjs でページネーションがどのように機能するかについてはまだ少しわかりません。これは、ページをめくるたびにサーバーからデータを取得しますか? そうでない方がいいと思います。3000 件のレコードがブラウザに保存され、レンダリングされるのはそれらの行の一部にすぎません。

また、Extjs バージョン 4.2.1 を使用しています。バージョン 5 にアップグレードすると、パフォーマンスが向上しますか?

4

2 に答える 2

8

バッファ付きレンダラー プラグインを使用してみてください。プラグインを使用すると、3000 以上のレコードはそれほど多くありません。

sencha doc からのスニペット:

var grid = Ext.create('Ext.grid.Panel', {
    // ...
    autoLoad: true,
    plugins: {
        ptype: 'bufferedrenderer',
        trailingBufferZone: 20,  // Keep 20 rows rendered in the table behind scroll
        leadingBufferZone: 50   // Keep 50 rows rendered in the table ahead of scroll
    },
    // ...
});

末尾/先頭のバッファー構成を使用してグリッドをトリミングするか、単に構成からスキップすることができます。私は自分自身をトリミングする必要はありませんでした

参照: http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.plugin.BufferedRenderer

于 2014-06-05T20:01:42.020 に答える