最好两种保存方式都能使用;
让用户按"Esc"或者切换行焦点的时候提交数据到服务器,保存数据。
哪位大神帮忙
jqgrid 3.81

解决方案 »

  1.   

    按esc键保存数据这个需要修改底层代码才行,没有配置保存数据的快捷键,只有是否启用快捷键keys(设置为true可以使用 [Enter]保存数据或者[Esc] 取消编辑)的配置。不过你可以试试colModel配置中的editoptions的子项dataEvents,添加keydown事件,获取keycode,如果是esc将就手动调用saverow方法
    jQuery("#grid_id").saveRow(rowid, successfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc);{editoptions:{dataEvents:[{ type: 'keydown', fn: function(e) { 
    if(e.keyCode==27){//ESC,调用saveRow方法,数据行的id在调用editRow前保存起来
     }
     }]}}切换行执行保存的原理和esc一样,在切换到另外一行的编辑请手动调用saverow方法var lastSel//////////
    jQuery("#grid_id").jqGrid({
    //...
       onSelectRow: function(id){
         if(id && id!==lastSel){ 
            jQuery("#grid_id").saveRow(lastSel, successfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc);///
            lastSel=id; 
         }
         jQuery('#grid_id').editRow(id, true); 
       },
    //...
    });