Пользовательская функция удаления в jqGrid - PullRequest
2 голосов
/ 17 октября 2010

Я пытаюсь настроить функцию удаления в 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 }
    );
});

Теперь, когда я нажимаю кнопку удаления, появляется диалоговое окно с запросом подтверждения удаления.Но если я нажму на кнопку удаления, я получу следующее сообщение об ошибке

alt text

Где я ошибаюсь?

1 Ответ

5 голосов
/ 17 октября 2010

Если я вас правильно понял, вы хотите изменить url, используемый для удаления строки, чтобы идентификатор строки был частью 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. В большинстве случаев использование такой функции не является действительно необходимым, и можно реализовать то же самое другим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...