2010-05-14 7 views
3

각 행에 해당 행을 삭제하기위한 버튼이 필요합니다. 그래서 데모 페이지의 샘플을 사용하여이 작업을 수행했습니다.jqgrid의 delGridRow가 작동하지 않습니다.

수정 행을 위해 작동하지만 삭제 버튼이 필요합니다.

여기에 내 코드

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

편집 버튼을 멋진 일이지만, 삭제 버튼이 없습니다.

클릭 삭제 버튼 만 전체 페이지에 걸쳐 회색 마스크를 만들고, 여기에 놓치고 무엇 삭제 확인 대화 상자

표시되지?

답변

0

이렇게하면 안됩니까?

 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>"; 

합니다 (qoutes에 백 슬래시 전 onclick 이벤트 후.)

나는 (내가 정상이 그리드에서 삭제 해달라고) 내있는 jqGrid에 당신의 방법을 복사 내가 백 슬래시를 퍼트 경우는했다. 삭제 확인 대화 상자가 나타납니다.

하지만 편집 단추가 백 슬래시없이 올바르게 작동하는 것은 이상한 일입니다 ...

관련 문제