#extjs
#extjs
Вопрос:
Я использую PaggingToolbar для поддержки подкачки на панели сетки. Проблема в том, что на каждой странице отображаются все записи из хранилища. Кто-нибудь может помочь решить проблему. Подробности кода следующим образом:
У меня есть хранилище с XmlReader
var store = new Ext.data.Store( {
url :'urltoreturnxml',
reader :new Ext.data.XmlReader( {
record :'Book',
id :'@id',
totalRecords :'@total'
}, [{
name :'book_id',
mapping :'@id'
}, {
name :'price',
mapping :'@price'
} ])
});
И панель сетки
var grid = new Ext.grid.GridPanel( {
store :store,
viewConfig : {
forceFit :true
},
loadMask: true,
width : 685,
height : 200,
columns : [
// column names
],
bbar: new Ext.PagingToolbar({ // paging bar on the bottom
store: store,
displayInfo: true,
displayMsg: 'Displaying topics {0} - {1} of {2}',
emptyMsg: 'error'
}),
sm :new Ext.grid.RowSelectionModel( {
singleSelect :true
}),
listeners : {
//some code
}
});
Я загружаю хранилище следующим образом
store.load({ params: {
start: 0,
limit: 20
},
callback : function(r, options, success) {
// callback function
}
});
Любая помощь приветствуется. Спасибо.
Комментарии:
1. «Проблема в том, что на каждой странице отображаются все записи из хранилища». — Вы хотите сказать, что ограничение: 20, которое вы отправляете на сервер, не влияет, и все записи возвращаются сервером каждый раз и отображаются? Что ж, тогда вам нужно снова посетить код на стороне сервера и проверить его. Еще, если возможно, пожалуйста, поделитесь какой-нибудь онлайн-демонстрацией того, что вы испытываете.
Ответ №1:
Ваш сервер должен вернуть количество записей, которые его просят обслуживать. Если вы вернете все записи независимо от вашего запроса клиента, вы получите все результаты в gird.