2011-12-16 67 views
4

嗨我有一个网格,用于显示调用细节。它显示所有来电,所以我需要在特定时间间隔后重新加载jqgrid。意味着它需要在间隔后自动重新加载。如何重新加载间隔jqgrid

我的代码是在test.jsp的:

<script type="text/javascript"> 
     $(document).ready(function() { 
       $.ajax({ 
        url: "callDetails.html", 
        type: "post", 
        dataType: "json",    
        success: function (data) { 
         var results=data.rows; 

          $("#jQGrid").html("<table id=\"list1\"></table><div id=\"page1\"></div><div id=\"icon\" class=\"iconcls\"></div>"); 
          jQuery("#list1").jqGrid({ 
          url: "callDetails.html", 
          datatype: 'json', 
          mtype:'post', 
           width:930, 
           height: 200, 
           shrinkToFit:true, 
           colNames:['Call Id','Caller Name','CallerNo','Callee Name','Callee No','Date','Time','Status','Call Duration'], 
           success : function(data){ 

           }, 
           colModel:[ 
            {name:'callId',index:results.callId,width:20,sortable:true} , 
            {name:'callFromName',index:results.roleName,width:30,sortable:false}, 
            {name:'callFromNo',index:results.callFromNo,width:20,sortable:false}, 
            {name:'callToName',index:results.callToName,width:30,sortable:false}, 
            {name:'callToNo',index:results.callToNo,width:20,sortable:false},  
            {name:'callDate',index:results.callDate,width:20,sortable:false}, 
            {name:'callTime',index:results.callTime,width:20,sortable:false}, 
            {name:'callState',index:results.callState,width:20,sortable:false},  
            {name:'callDuration',index:results.callDuration,width:20,sortable:false} 

           ], 
           jsonReader: { repeatitems : false, id: "0" }, 
           multiselect: false, 
           viewrecords: true, 
           headtitles: true, 
           paging: true, 
           loadtext : "Loading Call list...", 
           rowNum:10, 
           rowList:[10,20], 
           pager: jQuery("#page1"), 
           loadonce:false, 
           caption:"Incoming Call" 
          }).navGrid('#page1',{edit:false,add:false,del:false,search:false}); 
         }, 

        error: function (xhr, ajaxOptions, thrownError) { 

         } 
       }); 


      }); 
    </script> 

<div id="jQGrid" style=padding:10px;10px;10px;10px></div> 
+1

看解析[答案](http://stackoverflow.com/a/5297156/315935) 。你需要什么? – Oleg 2011-12-16 08:58:41

回答

4

它是由

<script type="text/javascript"> 
window.setTimeout(refreshGrid, 5000); 

     function refreshGrid() 
     { 
      var grid = jQuery("#list1"); 
      grid.trigger("reloadGrid"); 

      window.setTimeout(refreshGrid, 5000); 

     } 
</script>