Ext.onReady(函数(){
var simpsonsStore = Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
pageSize: 2,
autoLoad: false,
buffered: true,
fields: ['name', 'email', 'phone'],
proxy: {
type: 'ajax',
pageParam: undefined,
url: '/apex/getPatientData',
startParam: 'start',
limitParam: 'limit',
noCache: false,
reader: {
type: 'json',
root: 'items',
totalProperty: 'total'
}
},
});
simpsonsStore.load({
params: {
start: 0,
limit: 2
}
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [{
header: 'Name',
dataIndex: 'name'
}, {
header: 'Email',
dataIndex: 'email',
flex: 1
}, {
header: 'Phone',
dataIndex: 'phone'
}],
height: 200,
width: 400,
dockedItems: [{
xtype: 'pagingtoolbar',
store: simpsonsStore,
dock: 'bottom',
displayInfo: true
}],
renderTo: Ext.getBody()
});
});
答案 0 :(得分:1)
很可能你的JSON没有记录
totalProperty: 'total'
您需要返回此字段中所有记录的数量
{
'total': 67,
'items': [{
....
}]
}
答案 1 :(得分:0)
只有在您将限制参数设置为2时才会显示两条记录:
params: {
start: 0,
limit: 2
}
此外,商店中的pageSize设置为2,因此在加载数据时,它会将商店中的数据页视为最多2条记录。请参阅文档 - http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.data.Store-cfg-pageSize
答案 2 :(得分:0)
好的,你的问题看起来是你的json响应的结构。
@nniicc在正确的轨道上,你的JSON证明了这一点,因为你在数据行中返回总数,而不是作为JSON对象的单独属性
{rnum:1,开始:" 0",结束:" 10",总数:67,姓名:" 1A",电子邮件: " Guruprit",...}
所以应该更像这样
{
'total': 67,
'items': [{rnum: 1, begin: "0", end: "10", name: "1A", email: "Guruprit",…},
...]
}