0

我一直在使用 inlineNav 方法进行内联添加,如下所示。

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

它工作得很好。现在,我需要在添加新行后重新加载网格。我尝试了以下方法,但没有奏效。

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

任何指针表示赞赏!

4

3 回答 3

3

首先,值successfunc应该是函数而不是字符串(参见您当前的代码"successfunc":"..."

我建议您尝试将相同的设置添加addParams.addRowParams到. 此外,我建议您从内部放置,以确保在保存行的标准处理之后开始重新加载。editParamsinlineNav$(this).trigger("reloadGrid")successfuncsetTimeout

所以代码可能是关于以下内容:

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
});
于 2013-09-30T22:15:17.687 回答
0

我认为最简单的方法是在完成添加后,分别调用 reload 函数,例如jQuery("#myGrid").reload();

于 2013-09-30T22:20:47.157 回答
0
$("#list").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
于 2019-08-19T10:53:40.283 回答