2012-10-12 10 views
1

jqgrid 테이블에 문제가 있습니다. json을로드하면 테이블이 생기지 만 테이블의 마지막 페이지 만 볼 수 있습니다. 페이지를 변경할 수 없습니다.JQGrid가 페이지를 변경하지 않음

JS 코드 :

$("#list").jqGrid(
     { 
      url:'test.json', 
      datatype: "json", 
      mtype: 'GET', 
      colNames:['id','model','cc','nation','prod'], 
      colModel:[ 
         {name:'id', index:'id', jsonmap:"id", width:25}, 
         {name:'model', index:'model', jsonmap:"model", width:50}, 
         {name:'cc', index:'cc', jsonmap:"cc", width:25}, 
         {name:'nation', index:'nation', jsonmap:"nation", width:50}, 
         {name:'prod', index:'prod', jsonmap:"prod", width:50} 
        ], 
      rowNum: "2", 
      page: "1", 
      rowList: [2,4,6], 
      autowidth: true, 
      pager: '#pager', 
      height: "100%", 
      sortname: 'id', 
      caption: "Elenco delle Moto", 
      jsonReader: {root: 'rows',page: 'page',total: 'total',records: 'records',repeatitems: false,id: 'id'}, 

      loadComplete: function() { 
       grid.setGridHeight('auto'); 
      } 
     }); 
     $("#list").jqGrid('navGrid','#pager',{edit:false,add:false,del:false,search:false}); 
     $("#visual").hide(); 

내 JSON 파일 :

{ 
"total": "3", 
"page": "1", 
"records": "5", 
"rows": 
[ 
    { 
     "Id": "1", 
     "model": "shiver", 
     "cc": "750", 
     "nation": "italy", 
     "prod": "aprilia" 
    }, 
    { 
     "Id": "2", 
     "model": "monster", 
     "cc": "696", 
     "nation": "italy", 
     "prod": "ducati" 
    } 
], 
"page":"2", 
"rows": 
[ 
    { 
     "Id": "3", 
     "model": "z750", 
     "cc": "750", 
     "nation": "japan", 
     "prod": "kawasaki" 
    }, 
    { 
     "Id": "4", 
     "model": "hornet", 
     "cc": "700", 
     "nation": "japan", 
     "prod": "honda" 
    } 
], 
"page":"3", 
"rows": 
[ 
    { 
     "Id": "5", 
     "model": "speedtriple", 
     "cc": "1000", 
     "nation": "england", 
     "prod": "buell" 
    } 
] 

}

나는 여러 번 시도했지만, 항상 같은 결과가 ... 누군가가 나를 도울 수 ?

답변

0

당신의 응답 (페이지는 이쪽 적절한 page 값의 말에) 한 번에 한 페이지를 포함해야합니다, 그래서 첫 번째 페이지에 대한 JSON은 다음과 같아야합니다

{ 
    "total": "3", 
    "page": "1", 
    "records": "5", 
    "rows": [ 
     { "Id": "1", "model": "shiver", "cc": "750", "nation": "italy", "prod": "aprilia" }, 
     { "Id": "2", "model": "monster", "cc": "696", "nation": "italy", "prod": "ducati" } 
    ] 
} 

있는 jqGrid는 대한 추가 요청을 할 것입니다 다음 페이지에서 요청의 pagerows 매개 변수를 검사해야합니다. 첫 번째 페이지는 어떤 페이지를 되돌려 보내야하는지 알려주고 두 번째 페이지는 현재 페이지 크기를 알려줍니다 (이것은 페이지 크기를 변경할 수 있도록 rowList 옵션을 사용했기 때문에 중요합니다).

+0

감사합니다. 나는 jqgrid가있는 초보자입니다. jqgrid에게 다른 페이지에 대해 여러 요청을하도록 어떻게 말할 수 있습니까? 왜냐하면 저는 여러분의 json 타입을 사용했기 때문에 첫 번째 페이지가로드되었지만 요청의 "page"매개 변수를 검사하지 않았기 때문에 2 또는 3이되지 않았습니다. – zibibbalibbo

+0

@ user1740490 변경할 컨트롤이 없습니다 호출기의 페이지? – tpeczek

+0

페이지 번호 근처에 2 개의 화살표가 있습니다. – zibibbalibbo

관련 문제