如何从服务器中删除选定的行并重新加载网格?

时间:2011-11-11 15:36:26

标签: jqgrid delete-row

我试图在我的网页中实现jqgrid但不能处理删除;如果用户选择多个值,并单击delete,我想调用一个servlet来处理删除并返回到页面。

代码段如下:

<script type="text/javascript">
function fillGridOnEvent(){
    $("#jQGrid").html("<table id=\"list\"></table><div id=\"page\"></div>");
    jQuery("#list").jqGrid({
        url:'<%=request.getContextPath()%>/MyServletGrid?q=1&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 个答案:

答案 0 :(得分:-1)

获取要删除的行的行ID,如下所示

var rowid = jQuery("#tableid").jqGrid('getGridParam', 'selrow');

使用以下

获取行数据
var rowdata = jQuery("#tableid").jqGrid('getRowData', rowid);

rowdata将拥有您的数据,如rowdata.srNo,rowdata.Keyword等。

发出对servlet的ajax调用,以便从数据库中删除。然后调用以下内容重新加载网格

jQuery("#tableid").trigger('reloadGrid');