Reload grid after add a new row in jQgrid Inline e

2019-03-04 02:14发布

I have been using inlineNav method for inline add as follows.

jQuery("#mygrid").jqGrid("inlineNav", "#mygrid_pager1",{"addParams":{"position":"last","addRowParams":{"keys":true}}});

It works great. Now, I need to reload the grid after adding a new row. I've tried the following and it didn't work.

jQuery("#mygrid").jqGrid("inlineNav", "#mygrid_pager1",{"addParams":{"position":"last","addRowParams":{"keys":true, "successfunc":"function(id){$("mygrid").trigger("reloadGrid");"}}});

Any pointers are appreciated!

标签: jqgrid
2条回答
姐就是有狂的资本
2楼-- · 2019-03-04 02:33

I think the easiest way is after you finish add something, call reload function separately like jQuery("#myGrid").reload();

查看更多
走好不送
3楼-- · 2019-03-04 02:46

First of all the value of successfunc should be the function and not the string (see in your current code "successfunc":"...")

I would recommend you to try to add the same settings to both addParams.addRowParams and to editParams options of inlineNav. Moreover I would recommend you to place $(this).trigger("reloadGrid") from successfunc inside of setTimeout to be sure that reloading will be started after the standard processing of saving of the row.

So the code could be about the following:

var editOptions = {
        keys: true,
        successfunc: function () {
            var $self = $(this);
            setTimeout(function () {
                $self.trigger("reloadGrid");
            }, 50);
        }
    };

$("#mygrid").jqGrid("inlineNav", "#mygrid_pager1", {
    addParams: {
        position: "last",
        addRowParams: editOptions
    },
    editParams: editOptions
});
查看更多
登录 后发表回答