当我向jqgrid发送JSON响应时,我收到“undefined”消息,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建议我在这里提供额外的信息:
>这些是我使用的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
>我的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%' });
>我从[这个链接] [1]下载了最后一个版本的jqGrid,它说是** 4.4.0 **版本。
我该如何解决?
提前致谢。
解决方法
在jquery.jqGrid.min.js之前加入grid.locale-en.js以使jqGrid工作很重要。
此外,我建议您添加gridview:true选项到jqGrid并替换pager:$(‘#pager’)到pager:’#pager’,因为jqGrid只需要寻呼机的id选择器。如果您使用pager:$(‘#pager’),那么jqGrid将把参数替换为pager:’#pager’。所以表单寻呼机:$(‘#pager’)真的没有jqGrid参数的意义。