0
그리드의 각 페이지에 대해 15 개의 레코드를로드하려고합니다 : pageSize : 15,
, 서버가 정확하게 15 페이지를 보내고 있습니다. 문제는 그리드의 다음 페이지 버튼이 비활성화되어 있다는 것입니다.다음 페이지 그리드로드 Ext JS 4
스토어 :
Ext.define('UserStore', {
extend: 'Ext.data.Store',
model: 'UserModel',
autoLoad : true,
pageSize : 15,
remoteSort: true,
proxy: {
type: 'ajax',
url: 'url/to/servlet',
reader: {
type: 'json',
root: 'data',
totalProperty: 'total'
},
writer: {
type : 'json',
root: 'data'
},
actionMethods: {
read : 'POST',
create : 'POST',
update : 'POST',
destroy: 'POST'
},
extraParams : {
data : 'Blank',
}
},
sortOnLoad: true,
sorters: { property: 'dateTime', direction : 'DESC' },
});
그리드 :
xtype : 'gridpanel',
store : mystore,
height : 350,
columns : [ {
dataIndex : 'firstName',
text : 'First Name',
flex : 1
},{
dataIndex : 'lastName',
text : 'Last Name',
flex : 1
},{
dataIndex : 'email',
text : 'Email',
flex : 1
}],
dockedItems : [ {
xtype : 'pagingtoolbar',
hight : 28,
displayInfo : true,
dock : 'bottom'
} ]
로드 그리드 : 나는 3 methodes을 테스트 한 :
grid.getStore().loadPage(1);
grid.getStore().load();
grid.getStore().load({ params:{start : 0, limit : 15}});
totalProperty 속성을 "total"로 설정했습니다. JSON 응답에서 서버가 "total : 225"를 보내고 있는지 확인하십시오. 페이지 크기는 그리드가 표시하는 페이지 당 레코드 수를 정의하지만 페이지 매김 메커니즘을 설정하려면 전체 레코드 수가 필요합니다. 툴바에 1 페이지 중 15 페이지가 보입니까? –
내 게시물을 편집했습니다. 이미지는 결과를 설명합니다. 서버가 "total : 225"를 보내면 서버가 실제로 225 개의 레코드를 보내는 것입니다. 또는 고객에게 전체 기록을 알리는 것입니까? – Adil
글쎄, 얼마나 많은 레코드 (데이터베이스에 총)가 쿼리를 가져 오는가? 225는 난수이고, 15 페이지 x 15 결과/페이지입니다. SELECT * FROM FOO가 225 개의 결과를 반환한다고 가정 해보십시오. 그런 다음 데이터베이스에서 결과의 페이지 매김을 수행하고 JSON 또는 기타 다른 수단을 통해 클라이언트에 15 만 보냅니다. 그리드에 15 개의 결과가 표시됩니다. 그러나 그리드가 15 페이지를 제공해야한다는 것을 알기 위해서는 서버에서받은 응답에 "총 225 개의"속성/값 쌍이 필요합니다. –