1

我正在使用具有 50 列和 1000 多条记录的 ExtJS 网格。我在垂直/水平滚动和单元格编辑时遇到性能问题。对于这种大小的数据,是否有可能在不分页的情况下获得流畅的性能,或者分页是唯一的解决方案?

4

1 回答 1

2

你应该使用无限的scolling。这允许您显示包含 1000 条记录的表,而它们不是在 dom 中创建的,因此它们不会降低浏览器的速度。

查看文档中的这个示例

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

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,
});

total您的后端必须支持分页并返回一个包含和offset属性的 json 对象。例子:

{"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版本有没有区别。

于 2013-10-23T14:28:09.430 回答