jqGrid不显示数据... JSON字符串是真JSON ...我需要一个jsonReader

时间:2013-02-27 01:39:35

标签: asp.net-mvc-4 jqgrid

这只是我的JSON数据字符串的一部分,因为它非常广泛......

{
    "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)/"}
         }
      ]}

这就是我设置jqGrid的方法......

    $(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: [
                   'MRN',
                   'Hospital Fin',
                   'First Name',
                   'Last Name',
                   'Date of birth'
            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', formatter:'date', formatoptions: {newformat: 'm/d/Y'}}]

现在... 我通过JSfiddle查看,我确实以正确的格式返回Json字符串。事实上,这就是我能够复制并粘贴到这个优秀网站的方式。那我错过了什么?看起来一切都应该是对的吗?

更新 我的col模型和我的单元格中的列名称是否必须达到100%?也许那会是一个值得一看的地方?

1 个答案:

答案 0 :(得分:2)

您使用错误格式的JSON数据。将您的数据与the documentation中描述的jqGrid预期的数据进行比较。要修复JSON数据,您可以将其更改为例如以下

{
    "total": 2,
    "page": 1,
    "records": 15,
    "rows": [
        {
            "id": 2148,
            "MRN": "840134833",
            "Hospital_Fin": "987141516",
            "First_Name": "YELLOW",
            "Last_Name": "CRAYON",
            "Date_of_birth": "/Date(1253160000000)/"
        }
    ]
}

您需要在jqGrid选项列表中另外添加jsonReader: {repeatitems: false}