2011-01-14 22 views
1

我有一個問題涉及JQGrid中某行的刪除。 我有一個表可修改的地方,它允許修改客戶端的所有行,然後在修改結束時保存所有行,它工作正常,但我有刪除行的問題,因爲它通過post方法發送到一個虛擬頁面默認JQGrid的功能和我有錯誤:在jqgrid中刪除一行並且出現「錯誤狀態:'未找到'錯誤代碼:404」

錯誤狀態:'未找到'。錯誤代碼:404 刪除選定的記錄?

我想這是因爲它等待刪除操作的狀態rensponse。 有人知道我如何刪除行而不發送任何東西或強制狀態返回一些代碼? 在此先感謝。

我的表的代碼是:

jQuery('#listBody').jqGrid({ 
     url:'sow.ajax.php', 
    datatype: 'xml', 
     colNames:['Pl Section','Id Document','Id Service','Code','Quantity'], 
     colModel:[ 
     {name:'id_parent',index:'id_parent',hidden:false}, 
     {name:'id_document',index:'id_document',hidden:true}, 
     {name:'id_service',index:'id_service',hidden:true}, 
     {name:'code',index:'code', width:80}, 
     {name:'quantity',index:'quantity', width:80, align:\"right\", sorttype:\"int\", editable: true,editrules:{number:true}} 
     ], 
    rownumbers:true, 
    rowNum:100, 
    height:500, 
    cellEdit: true, 
    cellsubmit: 'clientArray', 
    multiselect: true, 
    gridComplete : function(){ 
    var ids = $('#listBody').jqGrid('getDataIDs'); 
    for(var i=0;i < ids.length;i++){ 
     var rowdata=jQuery('#listBody').jqGrid ('getRowData', ids[i]); 
     service_sow[rowdata['id_service']]=i; 
    } 

    }, 
    editurl:'ClientArray', 
    rowList:[10,20,30], 
    sortname: 'id', 
    viewrecords: true, 
    sortorder: "desc", 
    loadonce: true, 
    caption: "Document body", 
    pager: '#plistBody' 
}); 

jQuery('#listBody').jqGrid('navGrid','#plistBody',{edit:false,add:true,del:true,search:false}); 

$('#dedata').click(function(){ 
    var gr = jQuery('#listBody').jqGrid('getGridParam','selrow'); 
    if(gr != null) jQuery('#listBody').jqGrid('delGridRow',gr,{reloadAfterSubmit:false}); 
    else alert("Please Select Row to delete!"); 
}); 

回答

2

我發現這一點,它似乎很好地工作:

$('#del-row') 
    .button(
    { 
     icons: { 
      primary:'ui-icon-trash' 
     } 
    } 
) 
    .click(function() { 
        var selectedRowsJq = new Array(); 
       var selectedRows = new Array(); 

       selectedRowsJq=jQuery('#listBody').getGridParam('selarrrow'); 
       for(var i = 0; i < selectedRowsJq.length; i++)selectedRows[i]=selectedRowsJq[i]; 
        for(var i = 0; i < selectedRows.length; i++){ 
         //DEBUG//alert(selectedRows[i]); 
         jQuery('#listBody').delRowData(selectedRows[i]); 
        }  
       return false; 
    }); 

坦克所有;))