0

嗨,我在 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
        }


    }
});

这是放置为网格的停靠编辑项的分页工具栏:

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 的一部分,正如萤火虫所示:

total

2026

结果

[对象 {noteid=

《1811》

, 地址=

“不相关”

, 城市=

“不相关”

, altri elementi...}, 对象 { noteid=

“4956”

, 地址=

“X”

, 城市=

“布宜诺斯艾利斯”

, altri elementi...}, 对象 { noteid=

“4957”

, 地址=

“X”

, 城市=

“布宜诺斯艾利斯”

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

我用谷歌搜索了很多都没有成功,我找不到我的错误,我相信分页不应该那么困难,提前感谢您的时间

4

2 回答 2

1

我解决了,我按照 extjs 4 中的描述更改了我的服务器发送的 json ,直接 php 代理和网格分页 我将总数与数据放在一起

于 2012-09-02T15:40:14.630 回答
0

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

此外,totalPropertyandroot配置继续阅读器:

proxy: {
    ...
    reader: {
        type: 'json',
        root: 'results',
        totalProperty: 'total'
    }
}
于 2012-09-02T02:31:29.553 回答