我正在尝试在jqGrid中自定义删除功能。
我已启用网格上的删除按钮
$("#myGrid").jqGrid('navGrid', '#pager',
{ add: true, addtitle: 'Add Customer',
edit: true, edittitle: 'Edit Customer',
del: true, deltitle: 'Delete Customer',
refresh: true, refreshtitle: 'Refresh data',
search: true, searchtitle: 'Apply filters',
addfunc: addForo, editfunc: editForo,
cloneToTop: true
},
{}, // default settings for edit
{}, // default settings for add
{}, // default settings for delete
{ closeOnEscape: true, multipleSearch: true, closeAfterSearch: true }, // search options
{} // default settings for view
);
然后我添加了(感谢这个post)以下代码
$("#bDelete").click(function () {
// Get the currently selected row
toDelete = $("#myGrid").jqGrid('getGridParam', 'selrow');
$("#myGrid").jqGrid(
'delGridRow',
toDelete,
{ url: '/Foro/Delete/' + toDelete, mtype: 'post', reloadAfterSubmit: false }
);
});
现在,当我点击删除按钮时,会出现一个对话框,要求删除确认。但是如果我点击删除按钮,我将收到以下错误消息
我哪里错了?
答案 0 :(得分:5)
如果我理解你是正确的,你想要修改用于删除行的url
,以便该行的id将成为url
的一部分。你可以更容易地做到这一点:
$("#myGrid").jqGrid('navGrid', '#pager',
// define navGrid options and paraneters of Edit and Add dialogs
{ // now define settings for Delete dialog
mtype: "POST", reloadAfterSubmit: false,
onclickSubmit: function(rp_ge, postdata) {
rp_ge.url = '/Foro/Delete/'+ postdata;
},
serializeDelData: function (postdata) { return ""; }
},
// search options
// ...
);
关于onclickSubmit
我们可以修改url
并定义serializeDelData
我们可以清除“POST”消息的正文。我主要在服务器端使用RESTfull服务并使用mtype: "DELETE"
。在真正需要清除身体的情况下。
另一个选择是使用delfunc
,就像您已经使用editfunc
和addfunc
一样。在大多数情况下,并不真正需要使用此类功能,并且可以通过其他方式实现相同功能。