У меня есть веб-страница с несколькими jqgrids, в каждом из которых включено встроенное редактирование, включен столбец «action» (значки редактирования) и отключен пейджер. Мне нужно обработать событие удаления для каждой строки, чтобы я мог обработать удаление без перезагрузки данных на стороне сервера. Я рассмотрел подход, упомянутый в jqGrid Delete a Row , и он очень полезен, за исключением того, что у меня два вопроса, которые ставят меня в тупик -
- Есть ли более подробная информация о параметре
rp_ge
в событии delOptions.onClickSubmit
?
В моем столбце задано значение delOptions -
delOptions: {onclickSubmit: function(rp_ge, rowid) {return onRowDelete(rp_ge,rowid);}},processing:true }},
Есть ли способ получить идентификатор сетки из этого события? Я хотел бы иметь универсальную функцию, которую я могу использовать для обработки событий удаления из всех сеток на странице. Параметр rp_ge
имеет gbox
, к которому иногда добавляется идентификатор сетки? Но я понятия не имею, что это такое, потому что я не могу понять, когда он заселен, а когда нет.
function onRowDelete(rp_ge, rowid) {
//hardcoded grid id.. don't like it.
var gridid = '#Grid_X';
//what is this gbox?? can i get grid id predictable from it?
//var gridid = rp_ge.gbox.replace("#gbox_", "");
var grid = $('#Grid_X');
rp_ge.processing = true;
var result = grid.delRowData(rowid);
if (result) {
$("#delmod" + grid[0].id).hide();
}
return true;
}
- В подходе jqGrid Delete a Row код
$("#delmod"+grid[0].id).hide();
скрывает всплывающее диалоговое окно подтверждения удаления вручную. Я заметил, что при появлении диалогового окна jqgrid снимает выделение с фоновой страницы (делает ее светло-серой). Но после того, как всплывающее окно закрыто вручную (скрыто на самом деле?), Фон остается не подчеркнутым. Похоже, страница не имеет фокуса (или даже отключена). В любом случае это можно исправить? Это также можно увидеть в демоверсии , которую Олег написал.
Любая помощь будет оценена.
(PS - Я бы прокомментировал этот же пост, но у меня недостаточно очков, чтобы комментировать чужой ответ.)