参考资料:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing
http://www.trirand.com/blog/jqgrid/jqgrid.html
很多坑坑,特别注意
1.jQuery("#filegridTable").jqGrid('saveRow', gr, function(data) {//注意此处的data竟然是XMLHttpRequest,如果要获取XHR中的响应值,必须使用responseText属性,和以前的callback的形参值完全不一样啊
alert(JSON.parse(data.responseText).info);
}, "editFileNameServlet", {
fileId: editFileId
});
2.
var gr = jQuery("#filegridTable").jqGrid('getGridParam', 'selrow');//获取的是rowid,就是该条记录在表格中是第多少行,不是记录的主键
$("#gridTable").jqGrid("getRowData",rowid);//获取的是第rowid行的值,注意rowid是从1开始编码的
3.在编辑模式下,当其中的一个字段完成输入时,要求判断这个字段值不能为空,我找到了一个解决办法,不知道是不是最优的,没有查到其他人实现这个功能,就记一下,实现的方法是通过
editoptions选项,配置blur事件,具体参考<a target=_blank href="http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules">http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules</a>
{
name: 'fileName',
index: 'fileName',
width: 400,
align: 'left',
title: false,
sortable: false,
editable: true,
editoptions: {
dataEvents: [{
type: 'blur',
fn: function(e) {
alert(this.value);
var fileName = this.value;
if (fileName == undefined || fileName == null || fileName.trim().length < 1) //如果文件名为空,就不能进行提交
{
$().message("文件名不能为空!");
jQuery("#filegridTable").jqGrid('restoreRow', edirRowid);
jQuery("#file_edit_save_btn").attr("disabled", true);
jQuery("#file_edit_btn").attr("disabled", false);
return;
}
$("#file_edit_save_btn").click();
}
}]
}
}