2013-06-20 4 views
0

Ext JS에 초보자가 있습니다. Sencha Ext Js에 게시 된 예제를 참조하고 현재 페이징 그리드에서 작업하고 있습니다. 나는 페이징이 어떻게 작동하는지에 대해서는 잘 모르겠다. 것은 페이징 툴바가 그리드 하단에 표시됩니다. 그러나 모든 기록은 같은 페이지에 표시됩니다. 비슷한 포럼과 심지어 autoLoad 함수에서 제안 된 저장소 내에서 pageSize를 설정하려고 시도했지만 잘 작동하지 않습니다. 다음은 데이터 저장소, 그리드 및 페이징 토볼에 사용 된 샘플 코드입니다.페이징이 Ext JS에서 작동하지 않습니다.

데이터 저장소 코드 :

var itemPageSize = 5; 
var bulkDevStore = Ext.create('Ext.data.ArrayStore', { 
     pageSize: itemPageSize, 
     fields : [ { 
      name : 'date' 
     }, { 
      name : 'userid' 
     }, { 
      name : 'filename' 
     } 

     ], 

      autoLoad:{ start: 0, limit: itemPageSize} 

    }); 

그리드 발췌문 :

var bulkStatsGrid = Ext.create('Ext.grid.Panel', { 
     columnLines : true, 
     width:'100%', 
     height:'100%', 
     title : "Statistics", 
     store : bulkDevStore, 
     disableSelection: true, 
     loadMask: true, 
     id : 'bulkstatsgrid', 

      columns : [ { 
      text : 'Date', 
      width : '10%', 
      sortable : false, 
      dataIndex : 'date' 
     }, { 
      text : 'User Id', 
      width : '10%', 
      sortable : true, 
      dataIndex : 'userid' 
     }, { 
      text : 'File Name', 
      width : '79.8%', 
      sortable : true, 
      dataIndex : 'filename' 
     } ], 

페이징 조각 :

  bbar: Ext.create('Ext.PagingToolbar', { 
     store: bulkDevStore, 
     refresh : false, 
     displayInfo: true, 
     displayMsg: 'Displaying topics {0} - {1} of {2}', 
     emptyMsg: "No topics to display", 

그러나 항상 그 쇼, 0의 페이지 0. 그 모든게 무능 해 보입니다. 어떤 도움이 필요합니까?

답변

0

당신이 total 속성을 가지고 있는지 확인하십시오 :

... 
total: 'value.total', 
pageSize: 5, 
... 

총 속성은 저장소에 대한 데이터 응답에 부여하는 것이 필요하다.

가게를 autoload하지 않으려 고하지만, 저장 및 도구 모음을 만든 후, 당신은 당신의 데이터 저장소에 데이터를 제공하는
사용 데이터 설정을 어떤 데이터를 제공하지 않았기 때문에 그것은 0 페이지 0을 보여주는 store.load()

관련 문제