У меня есть три параметра startdate, enddate и name, которые я должен отправить на сервер, чтобы получить ответ Json. Я показываю ответ в GridPanel.Extjs-Paging Toolbar Следующая страница и предыдущая страница Отключить
Мой Ajax запрос выглядит следующим образом:
FilterOperSet: function(button){
var win = button.up('window');
var form = win.down('form');
var start = form.getForm().findField('startDate').getSubmitValue();
var end = form.getForm().findField('endDate').getSubmitValue();
var act = form.getForm().findField('actor').getSubmitValue();
Ext.Ajax.request({
url: 'ListData',
params: { type: 'recordedRequest', startDate: start,
endDate: end, actor: act, start:0,limit:10 },
success: function(response) {
var json = Ext.decode(response.responseText);
var mystore = Ext.data.StoreManager.lookup('RecordedRequestStore');
mystore.loadData(json.recordedRequests);
},
scope: this});
}
У меня есть кнопка, когда пользователь вводит значения STARTDATE, EndDate и имя и нажимает на кнопку выше слушатель отправляет их в качестве параметров вместе с началом и предела для пейджинга и ответа захватывается и сохраняется в gridpanel.
Моя проблема с панели подкачки: Я мог видеть следующее в качестве ответа
recordedRequests
// has some meta data here
success
true
total
1339
Но мой инструмент подкачки штрих-шоу только одна страница, а в нижней части говорит 0 из 0 и направо ничего, чтобы отобразить. Infact он должен сказать 1 из 14 и должен позволить мне перейти через следующие страницы.
2) Также, когда я нажимаю кнопку обновления, он вызывает мой магазин и вызывает сервер, но я хочу сделать запрос ajax с именем startdate, enddate и name в качестве параметров (это будет именно то, что делает моя кнопка выше listerner)
Мой магазин выглядит следующим образом:
автозагрузку: ложь, remoteFilter: правда, буферном: ложь, PAGESIZE: 10, // leadingBufferZone: 1000,
fields:['start', 'end', 'actor','serviceOp'],
proxy: {
type: 'ajax',
url: 'ListData',
store: 'RecordedRequestStore',
startParam:'start',
limitParam:'limit',
pageParam:'page',
reader: {
type: 'json',
root: 'recordedRequests',
successProperty: 'success',
totalProperty: 'total'
},
extraParams: {
'type': 'recordedRequest',
},
//sends single sort as multi parameter
simpleSortMode: true,
// Parameter name to send filtering information in
filterParam: 'query',
// The PHP script just use query=<whatever>
encodeFilters: function(filters) {
return filters[0].value;
}
},
listeners: {
filterchange: function(store, filters, options){
console.log(filters)
},
totalcountchange: function() {
console.log('update count: ')
//this.down('#status').update({count: store.getTotalCount()});
}
}
Любая помощь будет иметь большое значение для меня. Заранее спасибо.
Не могли бы вы показать пример своего слушателя? У меня похожие проблемы –
Привет, Клей, можете ли вы сообщить мне, что у вас есть, и что именно означает слушатель? – user3093528
Привет, спасибо за быстрый ответ. В основном у меня есть сетка, которая загружается из ответа JSON, но не ограничивает 'pageSize'. У меня есть подробный вопрос: http://stackoverflow.com/questions/22481633/paging-grid-displaying-all-records-ext-js/22485604?noredirect=1#comment34223737_22485604 –