2013-02-27 46 views
0

我试图设置我的jqGrid从document.ready上的函数获取数据。不知怎的,我遇到了几个小的例外当我这样做......我原本想,也许我的JSON数据malformated ...与jqGrid获取异常

{"total": 2, 
"page": 1, 
"records": 15, 
"rows": [{ 
    "id": 2148, 
    "cell": { 
     "MRN": "840134833", 
     "Hospital_Fin": "987141516", 
     "First_Name": "YELLOW", 
     "Last_Name": "CRAYON", 
     "Date_of_birth": "\/Date(1253160000000)\/"   
    } 
}, 
{ 
    "id": 1898, 
    "cell": { 
     "MRN": "785528039", 
     "Hospital_Fin": "6669511596226", 
     "First_Name": "RAYFIELD", 
     "Last_Name": "BOYD", 
     "Date_of_birth": "\/Date(-720298800000)\/" 
    } 
}]} 

但它似乎看的权利。

我得到这个例外,例如:

0x800a138f - Microsoft JScript runtime error: Unable to get value of the property 'integer': object is null or undefined 

我得到的例外在下面的代码行...

fmt = $.jgrid.formatter.integer || {}; 

设置我网格如下

$(document).ready(function() { 
     jQuery("#frTable").jqGrid ({ 
      cmTemplate: { sortable: false }, 
      caption: '@TempData["POPNAME"]' + ' Population', 
      datatype: 'json', 
      mtype: 'GET', 
      url: '@Url.Action("GetAjaxPagedGridData", "Encounters", new { popId = TempData["POPULATIONID"] })',//'/Encounters/GetAjaxPagedGridData/'+ '',     
      pager: '#pager', 
      loadonce: true, 
      height: 450, 
      gridview: true, 
      viewrecords: true, 
      rowNum: 15, 
      shrinkToFit: false, 
      autowidth: true, 
      colNames: [...], 
      colModel: [ 
        { name: 'MRN', width: 125, align: 'left' }, 
        { name: 'Hospital_Fin', width: 145, align: 'left' }, 
        { name: 'First_Name', width: 115, align: 'left' }, 
        { name: 'Last_Name', width: 115, align: 'left' }, 
        { name: 'Date_of_birth', width: 145, align: 'left' },] 

其中colNames和colModel不重要。 我的智慧在这里结束。这应该是工作。我错过了什么?

+0

colModel可能不是那么无关紧要,你在那里设置格式化器吗? – jmoerdyk 2013-02-27 00:07:50

+0

其实我是我会更新我的文章... – SoftwareSavant 2013-02-27 00:19:54

+0

你是否至少包含一个语言环境文件? – jmoerdyk 2013-02-27 00:30:43

回答

1

您可能缺少必要的语言环境的文件,其中$ .jqgrid.formatter定义:

jqGrid docs

您需要包括jQuery的,在jqGrid的插件,它的jqGrid的语言文件之一例如:

<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script> 
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> 
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 
+0

Microsoft JScript运行时错误:对象不支持属性或方法'jqID – SoftwareSavant 2013-02-27 00:44:53

+0

就是这样。您还必须确保在jqGrid之前导入本地文件。否则你会被抛出一大堆例外。不幸的是,我的数据仍然没有显示。但是一次只能有一场战斗。 – SoftwareSavant 2013-02-27 01:19:02

0

这个错误听起来像我对你的视图中的对象有问题没有设置。尝试设置一个静态值,而不是像TempData["POPULATIONID"]这样的东西,我想你可能会前进。

+0

它正在设置。当我调试并击中该方法时,我看到了该值。 – SoftwareSavant 2013-02-27 00:20:12