Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS网格速度慢,3000+;记录_Javascript_Extjs_Extjs4_Extjs5 - Fatal编程技术网

Javascript ExtJS网格速度慢,3000+;记录

Javascript ExtJS网格速度慢,3000+;记录,javascript,extjs,extjs4,extjs5,Javascript,Extjs,Extjs4,Extjs5,我使用的是extjsgrid,它的速度非常慢,有3000多条记录。分拣大约需要4秒钟 我在考虑在我的表格中使用分页。然而,在阅读了文档之后,我仍然有点不确定在extjs中分页是如何工作的。是否每次翻页时都会从服务器中提取数据?我希望情况不是这样。我希望3000条记录保存在浏览器中,然后渲染的只是这些行的一部分 此外,我使用的是Extjs版本4.2.1。如果我升级到版本5。我会得到一些性能改进吗?尝试使用缓冲渲染器插件,使用该插件,3000多条记录不会太多 sencha文档中的代码片段: var

我使用的是extjsgrid,它的速度非常慢,有3000多条记录。分拣大约需要4秒钟

我在考虑在我的表格中使用分页。然而,在阅读了文档之后,我仍然有点不确定在extjs中分页是如何工作的。是否每次翻页时都会从服务器中提取数据?我希望情况不是这样。我希望3000条记录保存在浏览器中,然后渲染的只是这些行的一部分


此外,我使用的是Extjs版本4.2.1。如果我升级到版本5。我会得到一些性能改进吗?

尝试使用缓冲渲染器插件,使用该插件,3000多条记录不会太多

sencha文档中的代码片段:

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
    },
    // ...
});
您可以使用尾随/前导缓冲区配置来修剪网格,也可以从配置中跳过它们。我从来都不需要修剪自己

参考:
您可以将数据保存在本地存储中。它允许您将数据存储在浏览器中。您需要一个数据模型,用XML中的数据填充并存储在浏览器中。下次您只需检查数据是否已存储,如果未存储,请下载。 Ext网格将很好地处理这些数据


这对我来说很有用。

想解释一下为什么要进行关闭投票吗?是的,分页是由服务器处理的,因为网格不知道数据集。因此,根据开始、限制参数和存储的totalproperty,客户端向服务器请求数据集。如果符合您的要求,您可以使用本地分页和本地排序。要使用本地分页,您可以使用pagingmemory代理。在这里,您可以看到缓冲渲染器正在运行。大约有1000张唱片!谢谢Saki,你的网站总是很棒!谢谢你,奥利弗。如果你愿意,你也可以在那里发表评论。