簡體   English   中英

出現錯誤:colNames <> colModel的長度或為0! 在jqgrid中

[英]Getting Error:length of colNames<>colModel or 0! in jqgrid

我正在使用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");
            }
        });
    });
});

誰能告訴我為什么會出現這個錯誤?

您必須添加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"
        });
    });
});

那是因為您還沒有添加colNames

它是強制性的,在該條目匹配計數 colModel

如果列數不等於 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 }
           ],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM