JQGrid inlineNav AddParams使用EditParams中的属性

时间:2015-12-03 11:22:45

标签: javascript jqgrid

我想使用JQGrid inlinenavAdd”和“Edit”功能。编辑功能对此代码没有问题,但问题是add使用editParams中的属性。当我点击add mode中的保存按钮时,它会转到url使用的editParams。我在某处弄错了还是错过了什么?

             navigation: {
                parameters : {
                    edit: true,
                    editicon: "ui-icon-pencil",
                    add: true,
                    addicon: "ui-icon-plus",
                    save: true,
                    saveicon: "ui-icon-disk",
                    cancel: true,
                    cancelicon: "ui-icon-cancel",
                    editParams: {
                        keys: true,
                        oneditfunc: function (id) { eRowId = id; },
                        onEnterfunc: function () { return editOnEnter(); },
                        successfunc: function (r) { return saveRow(r); },
                        url: ncb.NCB + "/Home/EditBillingTransaction",
                        extraparam: {},
                        aftersavefunc: null,
                        errorfunc: null,
                        afterrestorefunc: null,
                        restoreAfterError: false,
                        mtype: "POST"
                    },
                    addParams: {
                        addRowParams: {
                            keys: true,
                            extraparam: {},
                            successfunc: function () { alert('success'); },
                            url: ncb.NCB + "/Home/AddBillingTransaction",
                            mtype: "POST"
                        }
                    }
                }
            }



jQuery(obj.grid).jqGrid('inlineNav', obj.pager, navigation.parameters);

1 个答案:

答案 0 :(得分:1)

请提供有关您在所有问题中使用的jqGrid版本和分叉的信息。

我想你使用了一些旧版本的jqGrid。 您描述的问题是旧错误,已经修复了。我建议您使用free jqGrid的当前版本(4.11.1)。这是我在更改jqGrid的许可协议并将其重命名为商业产品Guriddo jqGrid JS后开发的分支(参见the post)。我在旧的MIT / GPLv2许可下提供免费的jqGrid。如果你确实会在免费的jqGrid中找到一些bug,我可以轻松修复它。

顺便说一下,我实现了内部jqGrid方法使用的简化形式的参数,比如内联编辑方法。见the wiki articleinlineEditing选项的使用将简化您的代码。 free jqGrid的另一个特性:可以指定url作为回调函数。它允许以非常简单的方式为添加和编辑构建不同的URL:

inlineEditing: {
    keys: true,
    ... // other options of inline editing
    url: function (id, editOrAdd) {
        return ncb.NCB +
            (editOrAdd === "edit" ?
                "/Home/EditBillingTransaction" :
                "/Home/AddBillingTransaction");
    }
}

我提醒上面的选项inlineEditing是jqGrid的选项(不是navGrid的选项。)