【问题标题】:Length of colNames <> colModel error in JqgridJqgrid 中 colNames <> colModel 错误的长度
【发布时间】:2020-12-02 14:54:28
【问题描述】:

所以我运行我的 web-aaplication 并得到这个错误 Length of colNames colModel!问题是 colName & colModel 的数量是一样的,所以我真的不知道t know whats 的意思。

usersandorganization.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");
    }
};

【问题讨论】:

    标签: javascript jqgrid


    【解决方案1】:

    我不确定这是否会导致问题,但您在 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},
                ...
            ],
    

    希望你明白了。

    我认为如果消息数组有问题(如上所述),在使用最后一个建议时也会出错。

    【讨论】:

    • 最后一个建议对我有用。非常感谢您的帮助,我很感激。
    猜你喜欢
    • 2018-05-28
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    相关资源
    最近更新 更多