您好,我在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的一部分,如firebug所示:
total2026年
结果
[对象{ noteid=
"1811“
,address=
“未关联”
,city=
“未关联”
,altri elementi...},对象{ noteid=
"4956“
,address=
"x“
,city=
“布宜诺斯艾利斯”
,altri elementi...},对象{ noteid=
"4957“
,address=
"x“
,city=
“布宜诺斯艾利斯”
,altri elementi...},47 altri elementi...]
我谷歌了很多次都没有成功,我找不到我的错误,我相信分页应该不会那么困难,提前感谢您的时间
发布于 2012-09-02 23:40:15
我解决了,我改变了我的服务器发送的json,就像在extjs 4, direct php proxy and grid paging中描述的那样,我把总数和数据放在一起
发布于 2012-09-02 10:31:30
验证是否根据服务器应用编程接口要求在代理上正确设置了startParam、limitParam和/或pageParam配置。如果是这样,则您的服务器端代码没有正确处理对后续页的请求。检查firebug中的请求详细信息和响应,因为每个页面都是通过工具栏请求的。
此外,阅读器上还提供了totalProperty和root配置:
proxy: {
...
reader: {
type: 'json',
root: 'results',
totalProperty: 'total'
}
}https://stackoverflow.com/questions/12232555
复制相似问题