Закрыть Добавить / Редактировать формы для jqgrid с функцией afterSubmit - PullRequest
1 голос
/ 17 августа 2011

Я новичок в использовании 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});

Ответы [ 5 ]

0 голосов
/ 10 апреля 2017

на самом деле это очень легко сделать, вам просто нужно добавить одну командную строку, как показано ниже:

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) {
       //  }
    }

........

0 голосов
/ 22 октября 2015

Это решило проблему для меня;

afterSubmit: function (resp, postdata) 
{
   return [true,"",null];
}, closeAfterEdit: true
0 голосов
/ 12 октября 2012

Это аргументы метода 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() {...}
    }
)
0 голосов
/ 14 ноября 2012

правильный синтаксис для после отправки :

afterSubmit : function(response, postdata)
{
   …
  return [success,message,new_id]
}
0 голосов
/ 18 августа 2011

какую версию 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

        );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...