ExtJS 4与本地商店分页

时间:2014-12-08 14:33:40

标签: javascript pagination extjs4 store paging

我有一个网格,它使用一个用数组创建的本地存储。我尝试使用此解决方案:Paging toolbar on custom component querying local data store 但它似乎不起作用。

我的代码:

    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'
    }

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

最有可能的问题是没有加载PagingMemoryProxy.js。 确保您明确加载此脚本(因为这是&#39;示例&#39;的一部分,它不是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');

答案 1 :(得分:0)

在某些ExtJS版本(即4.2.2)中,pagingmemory代理的使用被删除。

使用memory代理配置enablePaging配置:

proxy: {
    type: 'memory',
    enablePaging: true,
}

查看ExtJS版本的文档,了解您的版本是否已启用此配置。