私は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つの要素を表示し、2番目のページに2番目の4つの要素を表示する必要があることです。
listeners:{
'sortchange': function(ct, column, direction, eOpts ){
Ext.getCmp('speedDialPaging').moveFirst();
speedDialStore.sort(column.dataIndex, direction);
}
},
スライスメソッドが機能した後も、グリッドにはソートされていない4つの要素が表示されます。しかし、スライスメソッドにアラートメッセージまたはブレークポイントを追加すると、ストアが正しくソートされていることがわかります。したがって、(私は)スライスメソッドを変更するか、この問題を解決する他の方法を見つける必要があります。サーバーはすべてのデータを送信しています。サーバー側ではなく、ここでこの問題を解決する必要があります。