"Неопределенное" сообщение в jqgrid, " b.джгрид.праматерия неопределено"

когда я отправляю ответ JSON в jqgrid, я получаю "неопределенное" сообщение через него, и Firebug говорит мне это:

b.jgrid.formatter is undefined

[Break On This Error]   

...input===true){b(".ui-pg-input",l).val(a.p.page);h=a.p.toppager?"#sp_1"+m+",#sp_1...

что в основном не говорит мне много.

это происходит, когда я посылаю пустой ответ:

{"total":0,"page":1,"records":0,"rows":[]}

или ответ с записями. Записи отображаются в сетке. После появления этого" неопределенного " сообщения я не могу просматривать страницы, поскольку, конечно, появилась ошибка в коде.

как @Oleg предположил, что я предоставление здесь дополнительной информации:

  1. это javascripts, которые я использую:
    jquery.validate.min.js
    jquery.validate.unobtrusive.min.js
    jquery-1.5.1.min.js
    jquery-ui-1.8.11.min.js
    jquery.jqGrid.min.js
    ui/jquery.ui.core.js
    ui/jquery.ui.widget.js
    ui/jquery.ui.datepicker.js
  2. мой источник javascript:
    var grid = jQuery("#list").jqGrid({
                datatype: 'json',
    
                caption: 'Transaction Log',
                hiddengrid: 'true',
                postData: {
                    companyId: function () { return $("#SelectedCompany").val(); },
                    userId: function () { return $("#SelectedUser").val(); },
                    dateFromString: function () { return $("#DateFrom").val(); },
                    dateToString: function () { return $("#DateTo").val(); }
                },
                url: '@Url.Action("GetTransactionLogData")',
                mtype: 'GET',
                colNames: ['Ref.', 'TradeDate', 'Status', 'LegalEntity', ...],
                colModel: [
                    { name: 'Reference', index: 'Reference', width: '60' },
                    { name: 'TradeDate', index: 'TradeDate', width: '70' },
                    { name: 'Status', index: 'Status', width: '50' },
                    { name: 'LegalEntity', index: 'LegalEntity', width: '80' },
                    ...
                ],
                pager: $('#pager'),
                rowNum: 10,
                height: '100%'
    
            });
    
  3. я загрузил последнюю версию jqGrid из [этой ссылки][1], он говорит, что это **4.4.0** версия.

как я могу решить это?

спасибо заранее.

1 ответов


важно включить grid.locale-en.js до jquery.jqGrid.min.js чтобы jqGrid работал.

кроме того, я бы рекомендовал вам добавить gridview: true опция для jqGrid и замены pager: $('#pager') to pager: '#pager' потому что jqGrid нужен только селектор идентификаторов пейджера. Если вы используете pager: $('#pager') тогда jqGrid заменит параметр на pager: '#pager'. Итак, форма pager: $('#pager') действительно не имеет смысла в качестве параметра jqGrid.