最初的store寫法:
var store = Ext.create('Ext.data.Store', { model: 'PKU',//這個地方CarPKU不是一個對象,而是一個類 remoteSort: false, remoteFilter: true, pageSize: limitCarPKU, //頁容量20條數據 method: 'POST', proxy: {//代理 type: 'ajax', url: '/Handler/PKUCarHandler.ashx?Func=PKUCarUnites', extraParams: { TrademarkId: Ext.getCmp('TrademarkId').getValue(), SubTrademarkId: Ext.getCmp('SubTrademarkId').getValue(), SeriesId: Ext.getCmp('SeriesId').getValue(), ModelNumberId: Ext.getCmp('ModelNumberId').getValue(), start: startCarPKU, limit: limitCarPKU }, reader: { type: 'json', root: 'data', //根節點 totalProperty: 'result' //數據總條數 } }, sorters: [{ //排序字段。 property: 'CarPKU', //排序類型,默認為 ASC direction: 'ASC' }], //autoLoad: true //即時加載數據 });
問題出在:extraParams 在4.2中沒作用
extraParams: {
TrademarkId: Ext.getCmp('TrademarkId').getValue(), SubTrademarkId: Ext.getCmp('SubTrademarkId').getValue(), SeriesId: Ext.getCmp('SeriesId').getValue(), ModelNumberId: Ext.getCmp('ModelNumberId').getValue(), start: startCarPKU, limit: limitCarPKU },
解決方法:
1.將extraParams進行刪除
2.新增代碼:
store.on('beforeload', function (store, options) { var params = { TrademarkId: Ext.getCmp('TrademarkId').getValue(), SubTrademarkId: Ext.getCmp('SubTrademarkId').getValue(), SeriesId: Ext.getCmp('SeriesId').getValue(), ModelNumberId: Ext.getCmp('ModelNumberId').getValue(), start: startCarPKU, limit: limitCarPKU }; Ext.apply(store.proxy.extraParams, params); });
具體如下:
var store = Ext.create('Ext.data.Store', { model: 'PKU',//這個地方CarPKU不是一個對象,而是一個類 remoteSort: false, remoteFilter: true, pageSize: limitCarPKU, //頁容量20條數據 method: 'POST', proxy: {//代理 type: 'ajax', url: '/Handler/PKUCarHandler.ashx?Func=PKUCarUnites', reader: { type: 'json', root: 'data', //根節點 totalProperty: 'result' //數據總條數 } }, sorters: [{ //排序字段。 property: 'CarPKU', //排序類型,默認為 ASC direction: 'ASC' }], //autoLoad: true //即時加載數據 }); store.on('beforeload', function (store, options) { var params = { TrademarkId: Ext.getCmp('TrademarkId').getValue(), SubTrademarkId: Ext.getCmp('SubTrademarkId').getValue(), SeriesId: Ext.getCmp('SeriesId').getValue(), ModelNumberId: Ext.getCmp('ModelNumberId').getValue(), start: startCarPKU, limit: limitCarPKU }; Ext.apply(store.proxy.extraParams, params); });