如何在in interval中重新加载jqgrid

时间:2011-12-16 08:42:43

标签: java 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 个答案:

答案 0 :(得分:4)

通过

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

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

           window.setTimeout(refreshGrid, 5000);

        }
 </script>
相关问题