最好两种保存方式都能使用;
让用户按"Esc"或者切换行焦点的时候提交数据到服务器,保存数据。
哪位大神帮忙
jqgrid 3.81
------解决方案--------------------
按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);
},
//...
});