jqGrid编辑记录表格为空

时间:2011-05-16 12:38:59

标签: jqgrid

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

对于我设置editable:true的每一列,除了表的主键外,还有一个自动递增的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"]

1 个答案:

答案 0 :(得分:4)

我认为原因是因为您使用"editable": "true""editable": "false"代替"editable": true"editable": false

此外,您尝试使用form editing进行本地数据编辑。当前的jqGrid实现仅支持cell editinginline editing的本地数据编辑。如果您确实需要使用form editing来修改本地数据,可以在my demo中找到the answer。代码会更长,但可以实现这一点。