JQGrid Inline Edit - Сохранить обработчик при нажатии Enter - PullRequest
1 голос
/ 20 августа 2011

Мне интересно, есть ли обработчик события для метода сохранения при нажатии клавиши ввода, чтобы сохранить строку. Я хочу использовать его, чтобы скрыть строку из сетки после сохранения.

спасибо заранее!

1 Ответ

2 голосов
/ 20 августа 2011

Оба editRow и saveRow встроенные методы редактирования имеют параметры succesfunc и aftersavefunc, которые вы можете использовать. aftersavefunc имеет небольшое преимущество, поскольку используется как для локального, так и для удаленного хранения данных сетки. Таким образом, код может быть

ondblClickRow: function (rowid) {
    $(this).jqGrid('editRow', rowid, true, null, null, null, {}, function (rowid) {
        $(this.rows.namedItem(rowid)).hide();
        $(this).focus(); // set focus somewhere
    });
}

См. Соответствующую демонстрацию здесь .

Единственное, что вы не должны забывать, это то, что измененные строки будут скрыты, но не удалены , и строка может быть видна при следующем обновлении сетки. Попробуйте отсортировать строки в демоверсии или перейти на следующую страницу и обратно. Если вы храните данные удаленно и при обновлении данных будет осуществляться на стороне сервера, сервер просто не должен отправлять скрытые строки в jqGrid. Возможно, использование delRowData может быть лучше в вашем случае. Метод удаляет данные из локальной сетки, но не отправляет запрос на удаление на сервер.

...