我想使用JQGrid inlinenav
“Add
”和“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);
答案 0 :(得分:1)
请提供有关您在所有问题中使用的jqGrid版本和分叉的信息。
我想你使用了一些旧版本的jqGrid。 您描述的问题是旧错误,已经修复了。我建议您使用free jqGrid的当前版本(4.11.1)。这是我在更改jqGrid的许可协议并将其重命名为商业产品Guriddo jqGrid JS后开发的分支(参见the post)。我在旧的MIT / GPLv2许可下提供免费的jqGrid。如果你确实会在免费的jqGrid中找到一些bug,我可以轻松修复它。
顺便说一下,我实现了内部jqGrid方法使用的简化形式的参数,比如内联编辑方法。见the wiki article。 inlineEditing
选项的使用将简化您的代码。 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
的选项。)