【问题标题】:Close Add/Edit forms for jqgrid with afterSubmit function使用 afterSubmit 函数关闭 jqgrid 的添加/编辑表单
【发布时间】:2011-10-28 22:40:56
【问题描述】:

我是使用 jqgrid 的新手。

我正在使用 afterSubmit: 函数重新加载网格以进行添加/编辑更改,afterSubmit: 函数在更新数据时工作正常。但是添加记录和编辑表单并没有关闭。 我使用了这个选项(closeAfterEdit:true,closeAfterAdd:true)没有被关闭。 我的问题是在哪里使用这个选项令人困惑。

如果没有 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});

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    其实很容易做到,你只需要添加一个命令行,如下代码

    closeAfterEdit:true

     $('#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) {
           //  }
        }
    

    ........

    【讨论】:

      【解决方案2】:

      这为我解决了问题;

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

      【讨论】:

        【解决方案3】:

        afterSubmit 的正确语法是:

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

        【讨论】:

          【解决方案4】:

          这些是 navGrid 方法的参数:

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

          要在编辑后和添加行后都关闭对话框窗口,您应该将 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() {...}
              }
          )
          

          【讨论】:

            【解决方案5】:

            您使用的是哪个 jqgrid 版本。我正在使用 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
            
                    );
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-01-03
              • 1970-01-01
              • 2012-03-03
              • 2013-11-25
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多