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