【发布时间】:2016-08-29 03:34:28
【问题描述】:
我已经看到了@Oleg 提供的几乎所有示例和答案,但还没有真正找到解决方案。这是我的网格-
$(grid).jqGrid({
datatype: 'local',
mtype: 'GET',
url: "/Views/MyUrl",
editUrl: "/Views/MyEditUrl",
colNames: colNames,
colModel: colModel,
altRows: false,
pager: $(pager),
loadonce: true,
sortable: true,
multiselect: false,
viewrecords: true,
shrinkToFit: false,
gridView: true
// onSelectRow: editRow
}).navGrid(pager, { add: false, edit: false, del: false, search: false}
$grid.jqGrid('inlineNav', pager, {
edit: true,
add: true,
del: true,
cancel: true,
save: true,
editParams: {
keys: false
},
addParams: {
keys: true
}
});
我使用的是 jqGrid 4.6 版本,并且内联行编辑。
我尝试了 'onselectRow' ,其中我调用了 'saveRow' 而不是 'restoreRow' ,但这也不起作用。
编辑行后,我想将整行数据发送回控制器以在数据库中更新。现在,它甚至没有命中控制器方法。
【问题讨论】:
-
JavaScript 区分大小写。选项
editUrl和gridView将被忽略,因为jqGrid 只知道editurl和gridview: true。您使用inlineNav在导航栏中创建“保存”和“取消”按钮。如果用户单击“保存”按钮,则将调用saveRow。如果用户单击“取消”按钮,则调用restoreRow。onSelectRow内不需要额外的代码。 -
@Oleg,我完全忽略了 editUrl 大小写。 :( 是的,使用 inlineNav 是对的。将其更改为“editurl”,现在我可以看到它在控制器中命中了方法。
标签: javascript asp.net-mvc jqgrid