我有一个jsonstore。
var speedDialStore = new Ext.data.JsonStore({
pageSize: 4,
proxy : {
type: 'ajax',
url: 'speedDialListByHospitalID.html',
actionMethods: {
create: 'POST', read: 'POST', update: 'POST', destroy: 'POST'
},
reader: {
type: 'json',
root: 'results',
totalProperty: 'total',
}
},
fields : [{name:"id"},{name:"code"},{name:"name"},{name:"description"},{name:"hospitalID"},{name: "buildingID"},{name: "floorID"},{name:"alarmID"},{name:"notificationFrequency"},{name:"maxCount"},{name:"start"}],
listeners: {
load : function (store, records, success, operation, options) {
if(records != null){
store.loadData(records.slice(records[0].get('start'),records[0].get('start')+4));
}
}
}
});
还有一个使用这家商店的网格。
我的问题是当对网格进行排序时,我需要对所有商店进行排序,并且只显示第一页的前 4 个元素和第二页的第二个 4 元素,依此类推..
listeners:{
'sortchange': function(ct, column, direction, eOpts ){
Ext.getCmp('speedDialPaging').moveFirst();
speedDialStore.sort(column.dataIndex, direction);
}
},
在 slice 方法起作用后,grid 仍然显示未排序的 4 个元素。但是,如果我在 slice 方法中添加警报消息或断点,我会看到存储已正确排序。因此(我认为)我需要修改 slice 方法或找到任何其他方法来解决这个问题。服务器正在发送所有数据。我们必须在这里解决这个问题,而不是服务器端。