jqGrid编辑记录表单为空

jqGrid编辑记录表单为空,jqgrid,Jqgrid,我已经实现了一个jqGrid,但是当我尝试使用内置的表单编辑功能时,会弹出一个空表单 对于我设置为可编辑的每一列:除了表的主键(一个自动递增的id)之外,为true。我做错了什么?我需要一个有效的editurl而不是clientArray吗?以下是jqGrid的实现: $.ajax({ type: "GET", url: colUrl, datatype: "json", success: function(result){ result = jQ

我已经实现了一个jqGrid,但是当我尝试使用内置的表单编辑功能时,会弹出一个空表单

对于我设置为可编辑的每一列:除了表的主键(一个自动递增的id)之外,为true。我做错了什么?我需要一个有效的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"]

我想原因是您使用了
“可编辑”:“true”
“可编辑”:“false”
而不是
“可编辑”:true
“可编辑”:false


此外,您还尝试使用本地数据编辑。当前的jqGrid实现仅支持和的本地数据编辑。如果确实需要使用来编辑本地数据,可以在中找到。代码会更长,但可以实现这一点。

我想原因是您使用了
“可编辑”:“true”
“可编辑”:“false”
而不是
“可编辑”:true
“可编辑”:false


此外,您还尝试使用本地数据编辑。当前的jqGrid实现仅支持和的本地数据编辑。如果确实需要使用来编辑本地数据,可以在中找到。代码会更长,但也可以实现这一点。

更改为“可编辑”:“真”为“可编辑”:真,表单将被填充。太棒了@安德里亚:在上一篇文章中,你会发现布尔数据类型的编码应该没有双引号。有时候这是最简单的事情。。。我正在重写应用程序的控制流,并将所有可编辑项的默认值设置为
false
,但无法确定发生了什么。找到了我的bug并修复了它,谢谢:)哦,我花了4个小时解决这个问题:(谢谢Oleg!将“可编辑”改为“可编辑”:“真”改为“可编辑”:true,表单被填充。太棒了!@Andrea:On你可以发现布尔数据类型应该不带双引号进行编码。有时这是最简单的事情…我正在重写应用程序的控制流,并将所有可编辑项的默认值设置为
false
,但无法确定发生了什么。找到了我的bug并修复了它,谢谢:)哦,我在这个问题上花了4个小时:(谢谢Oleg!