Я использую ExtJs5 с Grails 2.4.4. Я хочу разбиение страницы на стороне клиента на сетку Extjs без вызова серверной части. Я прошел через много форумов, которые ищут входы на разбиение страницы на стороне клиента, но везде я вижу, как использовать прокси-сервер памяти. Я использую прокси-вызов Ajax для контроллера grails и загрузку магазина. Не могли бы вы помочь мне в решении этого вопроса и предоставить указателям, чтобы работать с постраничной страницей клиента? Ниже вы найдете мой код. Я совершенно не знаком с extjs. Поэтому, пожалуйста, извините, если есть некоторые основные ошибки. Вид:Extjs5 - UI Клиентская сторона GRID pagination
Ext.define('MVC.GridPanel', {
alias: 'app.gridPanelAlias',
extend : 'Ext.grid.Panel',
xtype : 'BookView',
title : Books,
store : 'Book',
multiSelect: true,
requires: ['Ext.grid.column.CheckColumn'],
columns: [
{text: "Select", dataIndex: 'Selected', xtype: 'checkcolumn', width:25},
{text: "Book Number", width: 55, dataIndex: bookNumber, sortable: true},
{text: "Received", width: 50, dataIndex: 'receivedDate', sortable: true, renderer: render_date},
],
dockedItems:
[
{ xtype: 'pagingtoolbar',
dock: 'bottom',
displayMsg: '{0} - {1} of {2}',
emptyMsg: 'No data to display',
store: 'Book',
displayInfo: true
}
],
forceFit: true,
height:210,
split: true,
region: 'north'
});
Магазин:
Ext.define('MVC.store.Book', {
extend : 'Ext.data.Store',
requires : [
'MVC.model.Book'
],
config: {
storeId : 'Book',
model : 'MVC.model.Book',
pageSize : 5,
proxy: {
type: 'ajax',
url: '/Book/getBooks',
actionMethods :{
read : 'POST'
},
reader: {
type: 'json',
rootProperty: 'books',
totalProperty: 'total'
}
}
}
});
Модель:
Ext.define('MVC.model.Book', {
extend: 'Ext.data.Model',
fields: [
{ name: 'Selected', type: 'bool' },
{ name: 'BookNumber', type: 'string' },
{ name: 'Received', type: 'date'}
]
});
магазин вызывается щелчком опции в аккордеона панели.
var store = Ext.getStore('Book');
store.load({
params: {
start: 0,
limit: 5
}
});
JSON ответ от сервера для указанного выше вызова Ajax -
{ "всего": 40, "успех": правда, "bookOrders": [{ "bookNumber": "11111", "receivedDate": нулевая}, { "bookNumber": "222222", "receivedDate": нулевая}]}
Привет Алексей, я сделал вышеуказанные изменения, но до сих пор все записи из магазина загружаются. Я хочу, чтобы в хранилище были все записи, но отображались только указанные строки на размер страницы. Возможна ли постраничная разбивка на стороне клиента в Ext.grid.Panel? – Tamanna
@Tamanna см. Обновление. –