2012-12-18 78 views
0

我希望我的jqgrid以編程方式移動下一頁並重新載入數據。例如:每5秒更換頁面並獲取刷新的數據。 --->數據類型:'json'< --- 在loop()函數中。帶來重新加載頁面,但它不通過下一頁。卡在第一頁上。如果我刪除它去下一頁,但頁面不刷新。當使用尋呼機時,Jqgrid不會重新載入

我閱讀並嘗試,嘗試過,但嘗試了一切,但沒有運氣。請幫助..

<script> 
     function fill() { 
     jQuery("#jqGrid").jqGrid({ 
      url: '@Url.Content("~/Handler/GetAjaxGridData")', 
      datatype: 'json', 
      height: 'auto', 
      altRows: true, 
      loadonce:true, 
      pager: '#pager', 
      rowNum: 3, 
      colNames: ['birim_adi', 'durum'], 
      colModel: [ 
        { name: 'cell.birim_adi', index: 'birim_adi' }, 
         { name: 'cell.durum', index: 'durum' } 
      ], 
      jsonReader: { 
       repeatitems: false, 
       root: function (obj) { return obj.rows; }, 
       page: function (obj) { return 1; }, 
       total: function (obj) { return 1; }, 
       records: function (obj) { return obj.rows.length; } 
      }, 
      loadComplete: function (data) { 
       var total_pages = $("#sp_1_pager").text(); // total pages 
       $('#hdn_total_pages').val(total_pages); 
      }, 
      ajaxGridOptions: { cache: false } 
     }); 
    } 
    function loop() { 
     var i = 1; 
     setInterval(function() { 
      var total_pages = $('#hdn_total_pages').val(); 
      $("#jqGrid").setGridParam({ 
       datatype: 'json', // <--When I delete it goes to another page, but the page does not refresh. 
       page: i, 
      }).trigger('reloadGrid'); 
      i++; 
      if (i > total_pages) { i = 1; } 
     }, 5000); 
    } 
     </script> 
     <script> 
     $(function() { 
     fill(); 
     loop(); 
     }); 
     </script> 
<table id="jqGrid"></table> 
<div id="pager"></div> 
<input type="hidden" id="hdn_total_pages" value="1" /> 

,然後我的JSON是這樣的:

{ 
"total": 1, 
"page": 1, 
"records": 6, 
"rows": [ 
    { 
     "id": 1, 
     "cell": { 
      "birim_adi": "a", 
      "durum": "test" 
     } 
    }, 
    { 
     "id": 2, 
     "cell": { 
      "birim_adi": "b", 
      "durum": "test1" 
     } 
    }, 
    { 
     "id": 3, 
     "cell": { 
      "birim_adi": "c", 
      "durum": "test3" 
     } 
    }, 
    { 
     "id": 4, 
     "cell": { 
      "birim_adi": "d", 
      "durum": "test4" 
     } 
    } 
] 
    } 

回答

0

的jsonReader正在返回的 '1',頁面中的硬編碼值。它看起來像你的數據符合結構jqGrid將自動工作。你可能只是嘗試完全刪除jsonReader部分並給它一個鏡頭。

如果這不起作用(或者您的數據的名稱不同於jqGrid所期望的),您需要查看修復jsonReader以返回適當的值。

看看這個blog entry關於定製jsonReader使用不同的數據格式。它可以幫助您解決頁面卡住的問題。 (完全披露:我是作者。)