且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ExtJS 4.1.0网格性能问题

更新时间:2023-11-26 10:10:46

你应该使用这个数据吗?无限的scolling。这可以让您在1000个记录中显示您的表,而不是在dom中创建,因此它们并不会降低浏览器的速度。

You should use infinite scolling. This allows you to display your table with 1000 records, while they are not created in the dom, so they are not slowing down your browser.

查看文档中的此示例

您需要定义一个缓冲存储并配置无限滚动的参数,如下所示:

You need to define a buffered store and configure the parameters for infinite scrolling, like this:

Ext.define('Test.store.Owners', {
    extend: 'Ext.data.Store',
    model: 'Test.model.PersonalInfo',
    autoLoad: true,
    buffered: true,
    pageSize: 25,
    purgePageCount: 5,
    leadingBufferZone: 5,
    trailingBufferZone: 5,
});

您的后端必须支持分页并返回包含总计的json对象 offset 属性。示例:

Your backend must support pagination and return a json object including the totaland offset properties. Example:

{"total":"1003",
"offset":225,
"data":[
    {"id":"227","name":"Candice","address":"P.O. Box 247, 7586 Eget Av.","state":"Minnesota"},
    {"id":"228","name":"Benedict","address":"P.O. Box 664, 7028 Vitae Rd.","state":"FL"},
    ...
}

我的答案是ExtJs 4.2.2,我不知道与4.1版有区别。

My answer is for ExtJs 4.2.2, I don't know if there is a difference with the version 4.1.