我正在使用一个包含50列和超过1000条记录的ExtJS网格。我在垂直/水平滚动和单元格编辑时遇到性能问题。是否有可能在没有分页的情况下获得平稳的性能,或者分页是唯一的解决方案?
答案 0 :(得分:2)
你应该使用无限的诽谤。这允许您显示包含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是否存在差异。