2013-10-23 46 views
1

我正在使用具有50列和1000多条记录的ExtJS网格。我在垂直/水平滚动和单元格编辑时遇到性能问题。如果没有分页大小的数据,是否可以获得平滑的性能,或者分页是唯一的解决方案?ExtJS 4.1.0网格性能问题

回答

2

你应该使用无限的放大。这使您可以显示包含1000条记录的表格,但它们不是在dom中创建的,因此它们不会减慢浏览器速度。

看看this example in the docs

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

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

后端必须支持分页,并返回包括totaloffset属性的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有区别。