pagingtoolbar不会收到总数

时间:2012-09-02 00:40:38

标签: json extjs4.1

嗨我在extjs4中有一个网格,我需要分页,服务器正确发送totalProperty,但是pagingToolbar只看到接收到的记录数,而不是总数,所以在例如我将记录数量限制为200和商店的pageSize是50,可以移动四个页面,但我丢失了我留在数据库中的其他1800条记录; 这是我的商店:

 var store = Ext.create('Ext.data.Store', {
    pageSize: 50,
    model: 'companiesModel',
    autoLoad: true,
    root:'results',

    listeners :
    {
        load : function(store)
        {// riporta il numero di items nello store in alto sulla grid
            Ext.getCmp('numRow').setText("Companies: "+store.getCount());
        }
    },
    proxy: {
        idProperty: 'id',
        type: 'direct',
        directFn: QueryDatabase.getResults,
        totalProperty:'total',
        api:{
            read:QueryDatabase.getResults,
            update:QueryDatabase.updateCompany
        }


    }
});

这是作为网格的dockeditem放置的pagingtoolbar:

dockedItems: [Ext.create('Ext.toolbar.Paging', {
        dock: 'bottom',
    pageSize:50,
        store: store,
    displayInfo: true,
        displayMsg: 'Displaying Companies {0} - {1} of {2}',
    emptyMsg: "No Companies to display"
    })]

这是我的json的一部分,因为它是由firebug显示的:

total

2026

结果

[对象{noteid =

“1811”

,地址=

“没有关联”

,city =

“没有关联”

,altri elementi ...},Object {noteid =

“4956”

,地址=

“X”

,city =

“布宜诺斯艾利斯”

,altri elementi ...},Object {noteid =

“4957”

,地址=

“X”

,city =

“布宜诺斯艾利斯”

,altri elementi ...},47 altri elementi ...]

我搜索了很多没有取得任何成功,我找不到我的错误,我确信分页不应该那么困难,提前感谢你的时间

2 个答案:

答案 0 :(得分:1)

我解决了,我改变了我的服务器发送的json,如下所示 extjs 4, direct php proxy and grid paging 我把总数和数据放在一起

答案 1 :(得分:0)

验证是否根据您的服务器API要求在代理上正确设置了startParamlimitParam和/或pageParam配置。如果是这样,您的服务器端代码未正确处理后续页面的请求。当通过工具栏请求每个页面时,检查firebug中的请求详细信息和响应。

此外,totalPropertyroot配置在读者身上:

proxy: {
    ...
    reader: {
        type: 'json',
        root: 'results',
        totalProperty: 'total'
    }
}