我试图在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 );
然后我添加了(感谢这篇文章)以下代码
$("#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 } ); });
现在,当我点击删除按钮时,会出现一个对话框,要求删除确认.但是,如果我单击删除按钮,我将收到以下错误消息
我哪里错了?
如果我理解你是正确的,你想修改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
.在大多数情况下,并不真正需要使用这种功能,并且可以以其他方式实现相同的功能.