我有一个使用本地存储的网格,它是用数组创建的。我尝试使用此解决方案:自定义组件上的分页工具栏查询本地数据存储 但似乎不起作用。
我的代码:
var myData = [];
//... fill myData
var store = Ext.create('Ext.data.ArrayStore', {
fields: fields,
data: myData,
pageSize: 10,
proxy: {
type: 'pagingmemory'
}
});
// create the Grid
var table = Ext.create('Ext.grid.Panel', {
id: "reportTable",
store: store,
columnLines: true,
columns: columns,
viewConfig: {
stripeRows: true
},
dockedItems: [{
xtype: 'pagingtoolbar',
store: store,
dock: 'bottom',
displayInfo: true
}]
});
如果没有这部分代码,网格会显示,但分页不起作用。有了它,整个网格根本不会出现。
proxy: {
type: 'pagingmemory'
}
可能是什么问题?
问题很可能是 PagingMemoryProxy.js 未加载。 确保您显式加载此脚本(因为这是“示例”的一部分,而不是 ext-all 的一部分)您可以在
<extjs folder>\examples\ux\data\PagingMemoryProxy.js
下找到它
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', 'examples/ux');
Ext.require('Ext.ux.data.PagingMemoryProxy');
在某些 ExtJS 版本(即 4.2.2)中,不建议使用
pagingmemory
代理。
memory
配置的 enablePaging
代理:
proxy: {
type: 'memory',
enablePaging: true,
}
检查您的 ExtJS 版本的文档,看看您的版本是否启用了此配置。