【发布时间】:2014-04-24 17:43:00
【问题描述】:
我们正在尝试解决这个例子: http://dev.sencha.com/deploy/ext-4.0.1/examples/grid/buffer-grid.html
例如在店里:
// create the Data Store
var store = Ext.create('Ext.data.Store', {
id: 'store',
pageSize: 50,
// allow the grid to interact with the paging scroller by buffering
buffered: true,
// never purge any data, we prefetch all up front
purgePageCount: 0,
model: 'ForumThread',
proxy: {
type: 'memory'
}
});
//and in the grid:
...
store: store,
verticalScroller: {
xtype: 'paginggridscroller',
activePrefetch: false
},
loadMask: true,
...
但是当我们滚动过去网格中的 pageSize 记录时,我们会出现长时间的停顿,这不仅仅是呈现下一组记录——存储本身正在从我们的 Web 服务重新加载数据。调用我们的 Web 服务会加载所有数据,我们不希望它在用户滚动时重新加载。我们希望 RENDERING 被缓冲,而不是数据加载,就像示例中所说的“他的示例说明了预先加载所有记录并缓冲渲染”。主要是因为我们希望避免此时将排序和排序转移到服务器,同时也是为了提高性能。然而,我们也不希望立即渲染所有内容,因为这会导致 IE8 中可怕的长时间运行的 javascript 错误。关于什么可能导致商店在此模式下重新查询数据源的任何想法?
【问题讨论】:
标签: javascript extjs