#jqgrid #delete-row
#jqgrid #удалить строку
Вопрос:
Я пытаюсь реализовать jqgrid на своей веб-странице, но не могу обработать удаление; если пользователь выбирает несколько значений и нажимает на удалить, я хочу вызвать сервлет, который обработает удаление и вернется на страницу.
Фрагмент кода выглядит следующим образом:
<script type="text/javascript">
function fillGridOnEvent(){
$("#jQGrid").html("<table id="list"></table><div id="page"></div>");
jQuery("#list").jqGrid({
url:'<%=request.getContextPath()%>/MyServletGrid?q=1amp;action=fetchData',
datatype: "xml",
mtype: 'POST',
height: 423,
colNames:['##','Keyword','Category','ViewType',"Action"],
colModel:[
{name:'srNo',index:'srNo', width:30,sortable:true,align:'center'},
{name:'Keyword',index:'Keyword', width:200,sortable:true},
{name:'Category',index:'Category', width:100,sortable:true,align:'center'},
{name:'ViewType',index:'ViewType', width:100,sortable:true,align:'center'},
{name:'view',index:'view', width:113,sortable:false,align:'center'}
],
multiselect: true,
paging: true,
rowNum:18,
pager: $("#page"),
loadonce:true,
caption: "Test JQGrid"
}).navGrid('#page',{edit:false,add:false,del:true});
}
jQuery().ready(function (){
//fillGrid(); rowList:[10,20,30],
});
Комментарии:
1. удалось ли выполнить операцию удаления с помощью jqgrid?
Ответ №1:
Получите идентификатор строки, подлежащей удалению, следующим образом
var rowid = jQuery("#tableid").jqGrid('getGridParam', 'selrow');
Получите данные строки, используя следующее
var rowdata = jQuery("#tableid").jqGrid('getRowData', rowid);
rowdata будет содержать ваши данные, такие как rowdata.srNo, rowdata.Ключевое слово и т.д.,
Выполните ajax-вызов вашего сервлета для удаления из вашей базы данных. Затем вызовите следующее, чтобы перезагрузить вашу сетку
jQuery("#tableid").trigger('reloadGrid');
Комментарии:
1. Спасибо за быстрый ответ.. Я очень новичок в jqGrid, не могли бы вы, пожалуйста, прислать мне пример кода или веб-страницу, где они использовали jqGrid с JSP Servlet и базовыми функциями — добавлять, удалять и редактировать .. ?
2. Пожалуйста, поймите, что jqGrid выполняется на стороне клиента, а servlet — это серверная технология. Что вы можете сделать, так это выполнить вызовы ajax следующим образом. $.ajax({ url: ‘/yoururl/add’, тип: ‘get’, async: false, данные: { имя: ‘steve’}, успех: функция (данные) { оповещение («добавлено успешно»); }, ошибка: функция () { оповещение (‘Ошибка’); } «/ yoururl / add» должен быть вашим сервлетом и будет выполнять ваши вставки в базу данных. вы можете сделать остальное.