2011-08-17 72 views
1

我使用jqGrid的新手。关闭了jqGrid的添加/编辑形式与afterSubmit功能

我使用afterSubmit:函数重载用于添加/编辑修改,afterSubmit电网:功能工作正常使用更新的数据。但是添加记录和编辑表单没有关闭。 我已经使用这个选项(closeAfterEdit:真,closeAfterAdd:真)没有得到关闭。 我的问题在哪里确切地使用这个选项confussing。

没有afterSubmit:功能两种形式越来越封闭。 对不起!因为我的英语不好。 请在下面找到navGrid代码:

$("#companyList").jqGrid('navGrid',"#pager2",{add:true,edit:true,del:true,refresh:false, 
        beforeRefresh: function(){ 
         $("#companyList").jqGrid('setGridParam',{datatype:'xml'}).trigger('reloadGrid'); 
        }}, 
        { 
        afterSubmit: function() { 
         $("#companyList").jqGrid('setGridParam'{datatype:'xml'}).trigger('reloadGrid'); 
         return [true,'',false]; // no error and no new rowid 
         } 
        },{ 
         afterSubmit: function() { 
          $("#companyList").jqGrid('setGridParam',{datatype:'xml'}).trigger('reloadGrid'); 
         return [true,'']; // no error 
         } 
        }, 
        editParam = { 
         editData:{myparam:function(){return "myval";}}, 
         reloadAfterSubmit: true, 
         editCaption:'Edit Record', 
         bSubmit:'Save', 
         url:'<%=request.getContextPath()%>/CompanyJqGrid? q=1&action=addData', 
         closeAfterEdit:true, 
         viewPagerButtons:false 
        },{closeAfterAdd:true}); 

回答

0

您正在使用哪个jqgrid verion。我使用3.6及更高版本,这对我的作品

$("#gUserGrid").jqGrid('navGrid','#pagergUserGrid',{add:true,edit:true,del:true,search:true}, //NAVIGATION BAR 
     { 
      jqModal:true, 
      savekey: [true,13], 
      navkeys: [true,38,40], 
      width: 500, 
      reloadAfterSubmit:true 


     }, // edit options 
     { jqModal:true 
      ,reloadAfterSubmit:true 

     }, // add options 
     { 
         reloadAfterSubmit:true}, //del options 
     { 
     } // search options 

     ); 
0

这些都是navGrid方法的参数:

.navGrid('#gridpager',{parameters}, prmEdit, prmAdd, prmDel, prmSearch, prmView); 

到两个编辑后关闭对话窗口,并添加一行后,你sholud将closeAfterEdit:true添加到prmEdit,并将closeAfterAdd:true添加到prmAdd对象。 喜欢这里:

$("#companyList").jqGrid('navGrid',"#pager2",{add:true,edit:true,del:true,refresh:false, 
     beforeRefresh: function(){...}}, 
    {//prmEdit 
     closeAfterEdit:true, 
     afterSubmit: function() {...} 
    }, 
    {//prmAdd 
     closeAfterAdd:true, 
     afterSubmit: function() {...} 
    } 
) 
0

正确的语法afterSubmit是:

afterSubmit : function(response, postdata) 
{ 
    … 
    return [success,message,new_id] 
} 
0

这解决了这个问题对我来说;

afterSubmit: function (resp, postdata) 
{ 
    return [true,"",null]; 
}, closeAfterEdit: true 
0

其实这是很容易做到这一点,你只需要一个命令行中添加类似如下的代码

closeAfterEdit:真

$('#jQGridDemo').jqGrid('navGrid', '#jQGridDemoPager', 
    { 
     edit: true, 
     add: false, 
     del: false, 
     search: false, 
    }, 
    { //EDIT 
     closeOnEscape: true,//Closes the popup on pressing escape key 
     closeAfterEdit: true, 
     //afterSubmit: function (response, postdata) { 
     // } 
    } 

... .....

相关问题