2011-01-14 12 views
1

Ich habe ein Problem, das das Delting einer Zeile in JQGrid betrifft. Ich habe eine Tabelle editierbar, wo es erlaubt ist, alle Zeilen in der Client-Seite zu ändern und dann alle am Ende der Änderung speichern, Es funktioniert gut, aber ich habe ein Problem mit dem Löschen der Zeile, weil es per Post-Methode an eine Dummy-Seite senden standardmäßig Funktion von JQGrid und ich habe den Fehler:delting einer Zeile in jqgrid und "Fehlerstatus: 'Not Found'. Fehlercode: 404"

Fehler Status: 'Not Found'. Fehlercode: 404 Ausgewählte Datensätze löschen?

Ich stelle mir vor, dass es ist, weil es auf einen Status der Löschoperation wartet. jemand weiß, wie ich Zeile löschen kann, ohne etwas zu senden oder eine Statusrückgabe mit etwas Code zu erzwingen? Vielen Dank im Voraus.

der Code meiner Tabelle ist:

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!"); 
}); 

Antwort

2

ich gefunden habe, dies und es scheint gut zu funktionieren:

$('#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; 
    }); 

Tanks an alle;))

Verwandte Themen