2012-09-05 60 views
1

我使用下面的腳本爲綁定從sql數據庫的細節到jqgrid。添加,編輯,刪除工作正常,我的問題是,如果我嘗試添加,編輯,刪除jqgrid中的數據它已更新數據庫但不會在jqgrid中顯示,我在刷新頁面然後數據顯示在jqgrid中。 如何點擊提交按鈕後自動刷新jqgrid?如何自動刷新jqgrid?

<script type="text/javascript"> 


      $(document).ready(function(){ 
      var mydata=new Array(); 

       $.extend({ 
       getValues: function(url) { 
       var result = null; 

       $.ajax({ 

        url: url, 
        type: 'POST', 
        data:'Param=value', 
        async:false, 
        success: function(data) { 
          result=JSON.parse(data); 
          } 
         }); 
        return result; 
       } 

       }); 

       mydata = $.getValues(Some url);//get the data from the url 

      $("#datagrid").jqGrid({ 

       datatype: "local", 
       data: mydata, 
       colNames:['companyid','company', 'price', 'Change','perchange','LastUpdated'], 
       colModel:[ 
        {name:'companyid',index:'companyid', width:100,editable:true,editoptions:{size:10}}, 
        {name:'company',index:'company', width:100,editable:true}, 
        {name:'price',index:'price', width:100,editable:true,editoptions:{size:10}}, 
        {name:'Change',index:'Change', width:100,editable:true,editoptions:{size:25}}, 
        {name:'perchange',index:'perchange', width:100, align:"right",editable:true,editoptions:{size:10}}, 
        {name:'LastUpdated',index:'LastUpdated', width:200, align:"right",editable:true,editoptions:{size:10}} 
      ], 
      rowNum:10, 
      rowList:[10,20], 
      loadonce: true, 
      pager: '#navGrid', 
      sortname: 'companyid', 
      sortorder: "asc", 
      height: 210, 
      width:600, 
      onSelectRow: function(id){ 
        getID = jQuery("#datagrid").jqGrid('getCell', id, 'companyid') 
       }, 
      viewrecords: true, 
      caption:"JQ GRID" 
      }); 

      jQuery("#datagrid").jqGrid('navGrid','#navGrid',{edit:true,add:true,del:true, addtext: 'Add', edittext: 'Edit', deltext: 'Delete'}, 

      //For Edit 
       { 
        closeOnEscape: true, 
        closeAfterEdit: true, 
        reloadAfterSubmit:true, 
        closeOnEscape: true, 
        url:'Some url' 

       }, 
      // For Add 
       { 

       closeOnEscape: true, 
       closeAfterAdd: true, 
       reloadAfterSubmit: true, 
       closeOnEscape: true, 
       url: 'Some url' 
       },  
      // For Delete 
       { 
        url:'Some url', 
        closeAfterDelete: true, 
        reloadAfterSubmit: true, 
        closeOnEscape: true, 
        onclickSubmit: function(e, postdata) 
        { 
        e.url = 'Some url' 
        } 
       } 


      ); 


      }); 


      </script> 
+0

?對於同樣的場景,reloadAfterSubmit對我來說工作正常。 –

回答

4

需要觸發reloadGrid: - 使用reloadGrid是上帝,但不是當reloadAfterSubmit是存在的,做u得到任何錯誤的開發者工具控制檯

$("#datagrid").trigger("reloadGrid");