【问题标题】:Getting Error:length of colNames<>colModel or 0! in jqgrid出现错误:colNames<>colModel 的长度或 0!在 jqgrid 中
【发布时间】:2016-02-12 10:42:40
【问题描述】:

我正在使用 jQgrid 来显示数据库中的数据。

单击我的按钮时,我收到此错误:

length of colNmaes <>colModel or 0!

这是我的代码:

$(document).ready(function () {
    $('#btndist').click(function () {
        $.ajax({
            url:"default.aspx/loaddata",
            datatype:"json",
            data: "{}",
            contentType: "application/json;charset=utf-8",
            method:"POST",
            success: function (result) {
                result=result.d;
                jQuery("#Distable").jqGrid({
                    datatype: "local",
                    colModel: [
                        { name:"EmpID", index:"EmpID",width:80},
                        { name:"EmpFisrtName", index:"EmpFisrtName", width: 80 },
                        { name:"EmpLastName", index:"EmpLastName", width: 80 },
                        { name:"EmailAddress", index:"EmailAddress", width: 80 },
                        { name:"MobileNo", index:"MobileNo", width: 80 },
                        { name:"CityName", index:"CityName", width: 80 }
                    ],
                    data: JSON.parse(result),
                    rowNum: 10,
                    loadonce: true,                          
                    rowList: [5, 10, 20],
                    pager: '#DistPager',
                    viewrecords: true,
                    sortorder: 'asc',
                    gridview: true,
                    autowidth:true,
                    sortname: 'EmpName',
                    height:'auto',
                    altRows: true,
                    hoverrows: true,
                    caption:"List Employee Details"                          
                });
            },
            error: function (error) {
                alert("Oops an error");
            }
        });
    });
});

谁能告诉我为什么会出现这个错误?

【问题讨论】:

    标签: javascript jqgrid jqgrid-asp.net


    【解决方案1】:

    您必须添加colNames,如下所示。

    colNames: ['Emp ID', 'Fisrt Name', 'Last Name', 'Email', 'Mobile No', 'City']
    

    这将显示为列标题。

    更新:移除ajax调用,jqGrid可以从url本身加载数据。

    $(document).ready(function() {
        $('#btndist').click(function() {
            jQuery("#Distable").jqGrid({
                url: "default.aspx/loaddata",
                datatype: "json",
                colNames: ['Emp ID', 'Fisrt Name', 'Last Name', 'Email', 'Mobile No', 'City'],
                colModel: [
                    { name: "EmpID", index: "EmpID", width: 80 },
                    { name: "EmpFisrtName", index: "EmpFisrtName", width: 80 },
                    { name: "EmpLastName", index: "EmpLastName", width: 80 },
                    { name: "EmailAddress", index: "EmailAddress", width: 80 },
                    { name: "MobileNo", index: "MobileNo", width: 80 },
                    { name: "CityName", index: "CityName", width: 80 }
                ],
                rowNum: 10,
                loadonce: true,
                rowList: [5, 10, 20],
                pager: '#DistPager',
                viewrecords: true,
                sortorder: 'asc',
                gridview: true,
                autowidth: true,
                sortname: 'EmpName',
                height: 'auto',
                altRows: true,
                hoverrows: true,
                caption: "List Employee Details"
            });
        });
    });
    

    【讨论】:

    • 谢谢你的决心,但我没有得到任何显示它的数据
    • 得到 TypeError: $.browser is undefined errot
    【解决方案2】:

    那是因为您没有添加colNames

    必须将 columnscountcolModel 中的条目匹配。

    如果列数不等于colModel 中的条目数不相等,则会提示以下错误。

    所以你的情况应该是这样的。

    colNames: ['Emp ID', 'Emp First Name', 'Emp Last Name', 'Email Address', 'Mobile No', 'City Name'],
    
    
    
    colModel: [
          { name: "EmpID", index: "EmpID", width: 80 },
          { name: "EmpFisrtName", index: "EmpFisrtName", width: 80 },
          { name: "EmpLastName", index: "EmpLastName", width: 80 },
          { name: "EmailAddress", index: "EmailAddress", width: 80 },
          { name: "MobileNo", index: "MobileNo", width: 80 },
          { name: "CityName", index: "CityName", width: 80 }
               ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 1970-01-01
      相关资源
      最近更新 更多