2010-05-14 5 views
3

Je souhaite avoir un bouton dans chaque ligne pour supprimer la ligne correspondante. J'ai donc utilisé les exemples dans la page de démonstration pour essayer d'y parvenir.Le delGridRow de jqgrid ne fonctionne pas

Il fonctionne pour la ligne d'édition, mais je veux aussi avoir un bouton de suppression.

Voici mon code

jQuery("#detFlex1").jqGrid({ 
    url: '<%= Html.Encode(ViewData["module"])%>/GetDetailList1', 
    datatype: "json", 
    altRows: true, 
    mtype: 'POST', 
    colNames: ['Inv No', 'Actions', '<%= RmdReqVendor.AccountName %>', '<%= RmdReqVendor.AccountNum %>' 
       , '<%= RmdReqVendor.Valuta %>' 
       , '<%= RmdReqVendor.Country %>' 
       , '<%= RmdReqVendor.Branch %>' 
       , '<%= RmdReqVendor.BankKey %>' 
       , '<%= RmdReqVendor.Priority %>'], 
    colModel: [ 
      { name: 'account_id', index: 'account_id', width: 55, hidden: true }, 
      { name: 'act', index: 'act', width: 55, sortable: false }, 
      { name: 'account_name', index: 'account_name', width: 150,editable:true,editoptions:{size:30,maxlength:30}, editrules:{required:true} }, 
      { name: 'account_num', index: 'account_num', width: 150,editable:true,editoptions:{size:18,maxlength:18}, editrules:{required:true, number:true} }, 
      { name: 'valuta', index: 'valuta', width: 90, editable: true,edittype:"select",editoptions:{value:"<%= JsHelper.CurrencyJsArray() %>"}, editrules:{required:true} }, 
      { name: 'country', index: 'country', width: 150, editable: true,edittype:"select",editoptions:{value:"<%= JsHelper.CountryJsArray() %>"}, editrules:{required:true} }, 
      { name: 'branch', index: 'branch', width: 150,editable:true,editoptions:{size:40,maxlength:40}, editrules:{required:true} }, 
      { name: 'bank_key', index: 'bank_key', width: 90,editable:true,editoptions:{size:15,maxlength:15}, editrules:{required:false} }, 
      { name: 'priority', index: 'priority', width: 90,editable:true,editoptions:{size:10,maxlength:10}, editrules:{required:true, number:true} } 
     ], 
    rowNum: 10, 
    rowList: [10, 20, 30], 
    pager: '#pagerFlex1', 
    sortname: 'request_id', 
    viewrecords: true, 
    sortorder: "desc", 
    caption: '<%= RmdReqVendor.BankAccountTitle %>', 
    width: $('.body').width()-40, 
    height: 180, 
    shrinkToFit: false, 
    gridComplete: function(){ 
     var ids = jQuery("#detFlex1").jqGrid('getDataIDs'); 
     for(var i=0;i < ids.length;i++){ 
      var cl = ids[i]; 
      be = "<button style='height:22px;width:20px;' type='button' title='Edit' onclick="jQuery('#detFlex1').jqGrid('editGridRow','"+cl+"',{top:top,left:left,width:420,height:220,reloadAfterSubmit:false,addedrow:'last',bSubmit:'Add' });" >E</button>"; 
      de = "<button style='height:22px;width:20px;' type='button' title='Delete' onclick="jQuery('#detFlex1').jqGrid('delGridRow','"+cl+"',{reloadAfterSubmit:false });" >D</button>"; 
      jQuery("#detFlex1").jqGrid('setRowData',ids[i],{act:be+de}); 
     } 
    }, 
    editurl: "<%= Html.Encode(ViewData["module"])%>/SaveDetail1" 

}); 
jQuery("#detFlex1").jqGrid('navGrid', '#pagerFlex1', { edit: false, add: false, del: false, search: false, refresh: false }); 

Le bouton d'édition fonctionne merveilleux, mais le bouton de suppression est pas.

Le bouton Supprimer lorsque vous cliquez dessus, ne fait que un masque gris sur toute la page, et ne pas montrer la boîte de dialogue de confirmation de suppression

Qu'est-ce que je manque ici?

Répondre

0

ne devriez-vous pas faire cela?

 be = "<button style='height:22px;width:20px;' type='button' title='Edit' onclick=\"jQuery('#detFlex1').jqGrid('editGridRow','"+cl+"',{top:top,left:left,width:420,height:220,reloadAfterSubmit:false,addedrow:'last',bSubmit:'Add' });\" >E</button>"; 
     de = "<button style='height:22px;width:20px;' type='button' title='Delete' onclick=\"jQuery('#detFlex1').jqGrid('delGridRow','"+cl+"',{reloadAfterSubmit:false });\" >D</button>"; 

(antislashs sur les qoutes avant et après l'événement onclick.)

Je copiais votre méthode dans mon jqGrid (je ne supprimer dans cette grille normale) et cela a fonctionné si je frappé légèrement la barre oblique inverse. J'ai eu la boîte de dialogue de confirmation de suppression.

Mais il est étrange que le bouton d'édition fonctionne correctement sans ces barres obliques ...