SoftwareSavant
SoftwareSavant

Reputation: 9737

jqGrid not displaying data... JSON string is true JSON... Do I need a jsonReader

This is just a section of my JSON Data string as it is quite extensive...

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

And this would be how I set up my 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'}}]

Now... I look through JSfiddle and I do get the Json string back in the right format. In fact, That is how I was able to copy and paste to this fine website. So what am I missing? It looks like everything should be about right?

UPDATE Do my col models and the names of my columns in my cell have to match up 100 percent? Maybe that would be someplace to take a look?

Upvotes: 1

Views: 1211

Answers (1)

Oleg
Oleg

Reputation: 221997

You use wrong format of JSON data. Compare your data with the data expected by jqGrid described in the documentation. To fix JSON data you can change it to for example the following

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

You need include additionally jsonReader: {repeatitems: false} in the list of jqGrid options.

Upvotes: 2

Related Questions