嗨我在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 ...]
我搜索了很多没有取得任何成功,我找不到我的错误,我确信分页不应该那么困难,提前感谢你的时间
答案 0 :(得分:1)
我解决了,我改变了我的服务器发送的json,如下所示 extjs 4, direct php proxy and grid paging 我把总数和数据放在一起
答案 1 :(得分:0)
验证是否根据您的服务器API要求在代理上正确设置了startParam
,limitParam
和/或pageParam
配置。如果是这样,您的服务器端代码未正确处理后续页面的请求。当通过工具栏请求每个页面时,检查firebug中的请求详细信息和响应。
此外,totalProperty
和root
配置在读者身上:
proxy: {
...
reader: {
type: 'json',
root: 'results',
totalProperty: 'total'
}
}