在jqgrid中删除行并显示“错误状态:'未找到'。错误代码:404”

时间:2011-01-14 17:50:09

标签: php jquery jquery-plugins jqgrid

我有一个问题涉及JQGrid中行的删除。 我有一个表可编辑,允许修改客户端的所有行,然后在修改结束时保存所有,它工作正常,但我删除行有一些问题,因为它通过post方法发送到虚拟页面JQGrid的默认功能,我有错误:

错误状态:'未找到'。错误代码:404 94022 删除所选记录?

我想这是因为它等待删除操作的状态重新响应。 有人知道如何删除行而不发送任何内容或强制状态返回一些代码? 提前谢谢。

我的表格代码是:

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

1 个答案:

答案 0 :(得分: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;
  });

所有坦克;))