2010-07-17 9 views

답변

10

datatype'local'으로 설정하면 서버의 데이터가로드되지 않습니다. 데이터 로딩을 강제로 수행하려면 을 setGridParam 메서드 (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:optionshttp://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods#grid_related_methods 참조)에 대해 'json' 또는 'xml'으로 변경 한 다음 trigger("reloadGrid") 메서드를 호출 할 수 있습니다.

jqGrid is not loading data에는 사용자가 요청한 정보가 있습니다.

+0

+1 완벽하게 작동합니다. 감사! – ongle

2

테이블에 기본 URL을 설정하지 마십시오. 그리고 데이터를로드 할 필요가있을 때 (예 : 버튼을 누름), .trigger("reloadGrid")을 설치하십시오. 당신을 위해

예 : URL없이

jQuery("#grid").jqGrid(
     { 
      //Simply comment out the URL 
      //url    :"salepointsprovider.php", 
      datatype:"json", 
      colModel  :[ 
       {name:'SalePointId', index:'SalePointId'}, 
       {name:'Name', index:'Name'} 
      ] 
     } 

$('#ShowRecordsButton').click(function() { 
      jQuery("#grid").jqGrid('setGridParam', 
      {url:"salepointprovider.php?SalePointId=" + argSalePointId, page:1}); 
      jQuery("#grid").trigger('reloadGrid'); 
     } 
0

내 그리드 서버로 요청을 보낼 :

.../_ 검색 = 거짓 & 차 = 1370817124473 & 행 = 20 & 페이지 = 1 & sidx = & sord = asc

데이터 유형을 설정합니다. "local"해결 문제. TreeGrid에에서

 
`function reloadGrid(gridId, gridData){ 
    $(gridId).jqGrid('clearGridData'); // need for nonempty grig (see http://www.trirand.com/blog/?page_id=393/help/triggerreloadgrid-not-work/) 
    $(gridId).jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid'); 
} 
`

(가 인식되고 적어도 내 JSON의 경우에) 데이터 유형을 변경할 필요가 없습니다

0

에 의해 새로 고침 그리드 당신은 '지역'= 데이터 유형을 사용할 수 있습니다. 그래서 'local'대신 datatype = 'jsonstring'으로 설정하고 빈 가짜 데이터와 jsonReader를 정의합니다. jsonReader는 검색된 데이터에 따라 올바르게 정의되어야합니다. Oleg의 answer 주셔서 감사합니다. 그리고 데이터를로드해야 할 때 데이터 유형을 'json'으로 변경하기 만하면됩니다.

var fakeData ={ 
    rows: [] 
}; 
... 
datatype: 'jsonstring', 
datastr: fakeData, 
... 
jsonReader: { 
    repeatitems: false, 
    root: function (obj) { return obj.rows; }, 
    page: function (obj) { return 1; }, 
    total: function (obj) { return 1; }, 
    records: function (obj) { return obj.length; } 
} 
+0

질문에 대한 답변이 아닙니다. –

관련 문제