2013-04-26 53 views
2

我有問題內聯編輯在jqGrid中。 我想有兩個編輯方法:jqGrid內聯編輯 - 添加鍵保存並取消

  1. 首先 - 編輯通過行(它的工作),我可以「拯救」,或者僅被鍵'取消「進入」和「逃跑」雙擊。如果我想要有一個活動的圖標「保存」和「取消」,我該怎麼做?它不活躍。
  2. 其次 - (更重要的),通過選擇行並單擊圖標'編輯'(它也可以)編輯,我可以'保存'或'取消'只能通過圖標。我應該怎麼做,如果我想使用鍵'enter'和'escape'來保存和取消?

我只對內聯編輯感興趣。我讀here關於編輯'圖標':When the button is clicked a editRow method is executed。 我有功能,但它沒有按下圖標'編輯'後自動打開。它應該覆蓋默認功能?

$(function(){ 
    var rowid; 
    $("#list").jqGrid('editRow',rowid, 
    { 
     keys : true, 
     oneditfunc: function() { 
      alert ("edited"); 
     } 
    }); 
}); 

我的jqGrid代碼:

$(function(){ 
    $("#list").jqGrid({ 
     url:'<?php echo $this->baseUrl('/jq-grid/view'); ?>', 
     datatype: 'xml', 
     mtype: 'GET', 
     colNames:['Inv No','Date', 'Amount','Tax','Total','Notes'], 
     colModel :[ 
      {name:'invid', index:'invid', width:55, sorttype:'int', hidden:false, 
       editable:true, key: true, 
       editrules:{ required:false, integer:true, edithidden:true} }, 
      {name:'invdate', index:'invdate', width:90, 
       editable:true, 
       editrules:{ date:true} }, 
      {name:'amount', index:'amount', width:80, align:'right', 
       editable:true, 
       editoptions:{readonly:false} }, 
      {name:'tax', index:'tax', width:80, align:'right', 
       editable:false, 
       editrules:{ edithidden:true} }, 
      {name:'total', index:'total', width:80, align:'right', 
       editable:false}, 
      {name:'note', index:'note', width:150, align:'right', sortable:false, 
       editable:false} 
     ], 
     rowNum:5, 
     rowList:[10,15,20,30], 
     rowTotal: 2000, //maksimum 
     loadonce: true, 

     pager: '#pager', 
     viewrecords: true, 
     sortname: 'invid', 
     sortorder: 'asc', //'desc' 
     gridview: true, 
     height: '100%', 
     width: '700', 

     ondblClickRow: function(id){ 
      //jQuery('#list').editRow(id); //, true 
      jQuery('#list').jqGrid('editRow',id,true); 
     }, 
     editurl: '<?php echo $this->baseUrl('/jq-grid/edit'); ?>' 
     //hidegrid:false, 
     //hiddengrid:true, 
     //caption: 'Grid' 
    }); 

$(function(){ 
    $("#list").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false}); 
}); 
$(function(){ 
    $("#list").jqGrid('navGrid',"#pager",{edit:false,add:false,del:true}); //,search:false,refresh:false 
}); 
$(function(){ 
    $("#list").jqGrid('inlineNav',"#pager",{ 
     save:true, 
     edit:true, 
     addParams: {addRowParams: {}} 
    }) 
}); 

回答

0

下面的字段代碼將允許在線編輯和顯示保存和取消圖標

{ name: "action", formatter: 'actions', index:"action", align: "left",sortable: false, editable: false, formatoptions:{ keys: true, editbutton: true, delbutton: true, editOptions: { closeOnEscape: true, closeAfterAdd: true, viewPagerButtons: false, closeAfterEdit: true, afterSubmit: function (response, postdata) { var r = $.parseJSON(response.responseText); return [r.success, r.Description, null]; } }, deleteOptions: { closeOnEscape: true, closeAfterAdd: true, viewPagerButtons: false, closeAfterDelete: true, afterSubmit: function (response, postdata) { var r = $.parseJSON(response.responseText); return [r.success, r.Description, null]; } } } },