Custom Delete Function in jqGrid

℡╲_俬逩灬. 提交于 2019-12-18 07:05:15

问题


I am trying to customize the delete function in jqGrid.

I have enabled the delete button on the grid

$("#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
);

then I have added (thanks to this post) the following code

$("#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 }
    );
});

Now when I click on the delete button a dialog is shown asking for delete confirm. But if I click on the delete button I will get the following error message

Where am I wrong?


回答1:


If I understand you correct you want to modify the url used to delete of row so that the id of the row will be a part of the url. You can do this much easier:

$("#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
    // ...
);

With respect of onclickSubmit we can modify the url and defining of serializeDelData we can clear the body of the "POST" message. I peronally mostly use RESTfull services on the server side and use mtype: "DELETE". In the case to clear of the body is really needed.

One more option is to use delfunc like you already use editfunc and addfunc. In the most cases the usage of such function is not really needed and one can implement the same in other way.



来源:https://stackoverflow.com/questions/3952888/custom-delete-function-in-jqgrid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!