簡體   English   中英

Jqgrid 中 colNames <> colModel 錯誤的長度

[英]Length of colNames <> colModel error in Jqgrid

所以我運行我的 web-aaplication 並得到這個錯誤 Length of colNames <> colModel, 問題是 colName 和 colModel 的數量是一樣的,所以我真的不t know what意義。

用戶和組織.js

    var initActiveUsers = function(){
    if (!activeUsersGrid) {
        activeUsersGrid = $('#activeUsers').jqGrid({
            datatype: function(){
                commonHelper.callAjaxMethod('users.htm', 'loadActiveUsers',
                    {}, function (result) {
                        activeUsersGrid.clearGridData(true);
                        activeUsersGrid[0].addJSONData(result);
                    }, true, true, false, function(){return true;})
            },
            colNames: [
                messages['usersandorganizations.loginname'],
                messages['usersandorganizations.name'],
                messages['usersandorganizations.logindate'],
                messages['usersandorganizations.session'],
                messages['usersandorganizations.description']
            ],
            colModel: [
                {name: 'loginName', index: 'loginName', formatter: commonHelper.notNullFormatter},
                {name: 'name', index: 'name', formatter: commonHelper.notNullFormatter},
                {name: 'loginDate', index: 'loginDate', formatter: commonHelper.notNullFormatter},
                {name: 'sessionId', index: 'sessionId', formatter: commonHelper.notNullFormatter},
                {name: 'description', index: 'description', formatter: commonHelper.notNullFormatter},
            ],
            height: "100%",
            jsonReader: {repeatitems: false, id: "loginName"},
            sortname: 'loginDate',
            viewrecords: true,
            sortorder: "asc",
            rowNum: -1
        });

        updateActiveUsers();
    } else {
        activeUsersGrid.trigger("reloadGrid");
    }
};

我不確定這是否會導致問題,但是您在 colModel 中的最后一個元素之后不需要逗號

{name: 'description', index: 'description', formatter: commonHelper.notNullFormatter}, <==

您確定消息數組的值沒有用逗號分隔 - 這可能會導致問題

您可以在調用網格之前創建一個臨時元素並執行

var names_check =  [
    messages['usersandorganizations.loginname'],
    messages['usersandorganizations.name'],
    messages['usersandorganizations.logindate'],
    messages['usersandorganizations.session'],
    messages['usersandorganizations.description']
]

console.log(names_check.length);

您將看到名稱數組的維度。

如果您不想執行此操作,您可以簡單地替換 colNames 數組並使用 colModel 中的 label 屬性 - 即刪除 colNames 並執行以下操作:

        colModel: [
            {label: messages['usersandorganizations.loginname'], name: 'loginName', index: 'loginName', formatter: commonHelper.notNullFormatter},
            ...
        ],

希望你明白了。

我認為如果消息數組有問題(如上所述),在使用最后一個建議時也會出錯。

暫無
暫無

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

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