1.要编辑的列必须设置属性为true:editable: true,//可编辑
2.使用jqgrid 点击事件:onSelectRow 注意:lastsel的定义
onSelectRow : function(id) {
//lastsel:上一列id id:当前id
if (id && id !== lastsel) {
jQuery('#form-appgrant-grid-table').jqGrid('saveRow', lastsel, true);
jQuery('#form-appgrant-grid-table').jqGrid('restoreRow', lastsel);
jQuery('#form-appgrant-grid-table').jqGrid('editRow', id, true);
lastsel = id;
}
},
这样就可以编辑了,也就是选中当前行编辑,点击下一行时当前行就保存
3.如何保存列表中编辑的值到数据库
//获取列表所有
var rowdata=$("#form-appgrant-grid-table").jqGrid('getRowData');
//判断列表中是否存在内容
if(rowdata.length>0){
var id=1;
//先循环保存列表所有数据 ,不然获取会带有文本框,而不能真正获取到值
$.each(rowdata,function(k,v){
jQuery('#form-appgrant-grid-table').jqGrid('saveRow', id);
++id;
})
//再从新获取 ,这里才是得到真正的值
var refreshAfterData=$("#form-appgrant-grid-table").jqGrid('getRowData');
var ids="";
var grantfinishtimes="";
$.each(refreshAfterData,function(k,v){
//列表保存所有数据
jQuery('#form-appgrant-grid-table').jqGrid('saveRow', id);
ids+=v.epid+",";
grantfinishtimes+=v.grantfinishtime+",";
})
$.ajax({
type:"get",
dataType:"json",//预期服务器返回的数据类型,如果不设置 的json数据接收不了
url:getRootPath()+"/admin/updateGrantAcessAppStatus",
data:{"ids":ids.slice(0,ids.length-1),"grantfinishtimes":grantfinishtimes},
success:function(result){
if(result.status=='0')
{
Power.dialog.alertSuccess('添加成功!');
doQueryAppFund(null);
}
else{
Power.dialog.alertError('添加失败,请稍后再试!');
}
}
})
}