我在extjs中有以下代码进行分页...即使我将其设置为每页5条记录,它仍然显示6 ...而且第1页的2不显示“1”...我有问题来自sql Click here to go that Thread的数据....所以我决定尝试使用内存存储...但我仍然没有得到正确的分页....任何帮助?
constructor: function () {
this.callParent(arguments);
var store = Ext.create('Ext.data.Store', {
pageSize: 5,
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
data: {
'totalCount': "6",
'items': [{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"
}, {
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"
}, {
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"
}, {
'name': 'Marge',
"email": "marge@simpsons.com",
"phone": "555-222-1254"
}, {
'name': '29',
"email": "marge@simpsons.com",
"phone": "555-222-1254"
}, {
'name': '30',
"email": "marge@simpsons.com",
"phone": "555-222-1254"
}]
},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items',
totalProperty: 'totalCount'
}
}
});
this.grid = Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
disableSelection: true,
loadMask: true,
stripeRows: true,
trackover: true,
renderTo: Ext.getBody(),
store: store,
columns: [{
text: 'Name',
dataIndex: 'name'
}, {
text: 'Email',
dataIndex: 'email'
}, {
text: 'Phone',
dataIndex: 'phone'
}],
bbar: Ext.create('Ext.PagingToolbar', {
store: store,
displayInfo: true,
displayMsg: 'Displaying Surveys {0} - {1} of {2}',
emptyMsg: "No Surveys to display"
})
});
grid.loadPage(1);
}
} });
答案 0 :(得分:2)
内存代理不能使用常规的分页机制。您需要一个特殊的用户扩展程序类:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.toolbar.Paging向下滚动到“使用本地数据进行分页”部分。