jqGrid编辑记录表空
问题描述:
我已经实现了一个jqGrid,但是当我尝试使用内置的表单编辑功能时,会弹出一个空表单。jqGrid编辑记录表空
对于我设置了editable的每一列:除了表的主键,一个自动递增的ID。我究竟做错了什么?我需要有一个有效的editurl,而不是clientArray?下面是jqGrid的实现:
$.ajax({
type: "GET",
url: colUrl,
datatype: "json",
success: function(result){
result = jQuery.parseJSON(result)
var colN = result.colNames;
var colM = result.colModelList;
$("#jqTable").jqGrid({
url:dataUrl,
datatype: 'xml',
mtype: 'GET',
colNames:colN,
colModel:colM,
shrinkToFit: false,
caption: db + "." + table,
pager: '#jqPager',
rowNum:10,
rowList:[10,20,30],
sortname: 'dbid',
editurl: 'clientArray',
sortorder: 'asc',
viewrecords: true,
width: 1000,
height: 400
});
$("#jqTable").jqGrid('navGrid', '#jqPager',
{edit:true, add:false, del:false, search:true, view:false}, //options
{}, // edit options
{}, // add options
{}, // del options
{multipleSearch:true,
sopt : ['eq',//equals
'ne',//not equals
'lt',//less than
'le',//less than or equal
'gt',//greater than
'ge',//greater than or equal
'bw',//begins with
'bn',//does not begin with
'in',//in
'ni',//not in
'ew',//ends with
'en',//does not end with
'cn',//contains
'nc']//does not contain
}, // search options
{} //view options
);
},
error: function(x,e){
alert(x.readyState + " " + x.status + " " + e.msg);
}
});
,这里是样品colModel和COLNAME字符串:
"colModelList": [{"name":"dbid","index":"dbid","editable":"false"},{"name":"description","index":"description","editable":"true"},{"name":"file_name","index":"file_name","editable":"true"}],"colNames": ["dbid","description","file_name"]
答
我想,其原因是因为你用"editable": "true"
或"editable": "false"
代替"editable": true
或"editable": false
。
此外,您尝试使用form editing为本地数据编辑。当前的jqGrid实现仅支持cell editing和inline editing的本地数据编辑。如果您确实需要使用form editing来编辑本地数据,您可以在the answer中找到my demo。代码会更长,但实现这一点是可行的。
将“editable”:“true”更改为“editable”:true,表单变为填充状态。真棒! – Andrea 2011-05-16 14:54:21
@Andrea:在[www.json.org](http://www.json.org/)上,您可以发现布尔数据类型应该不用双引号进行编码。 – Oleg 2011-05-16 14:59:51
有时候这是最简单的事情......我正在重写我的应用程序的控制流,并且已将所有可编辑项的默认设置为“false”,并且无法弄清楚发生了什么。发现我的错误,并修复它,谢谢:) – blong 2011-08-24 14:52:52