Vaibhav Jain
Vaibhav Jain

Reputation: 34447

jqGrid data not showing but rows are generating

I am working on a MVC application. I have written a jqGrid in my aspx page.

$(document).ready(function () {

            jQuery("#jqgajax").jqGrid({

                url: 'http://localhost:54136/home/fetchData',
                datatype: "json",
                colNames: ['ProcessName', 'WorkingSet64'],
                colModel: [
                            { name: 'ProcessName', index: 'ProcessName', width: 55 },
                            { name: 'WorkingSet64', index: 'WorkingSet64', width: 90 }
                        ],
                rowNum: 80,
                mtype:'Get',
                width: 700,
                rowList: [10, 20, 30],
                sortname:'id',
                viewrecords: true,
                sortorder: "desc",
                caption: "New API Example"
            });
        });

C# Code at controller:

 var jsonData = new
           {
               total =10,
               page = 10,
               records = 10,
               rows = (
                from p in pu
                select new
                {
                    id = ++counter,
                    cell = new
                    {
                        ProcessName = p.ProcessName.ToString(),
                        WorkingSet64 = p.Memory.ToString()
                    }
                }).ToArray()
           };


            return Json(jsonData,JsonRequestBehavior.AllowGet);

The issue it rows are getting generated in the grid, but there is no data in the rows. enter image description here

Please let me know what am I doing wrong.

Upvotes: 0

Views: 1375

Answers (1)

Oleg
Oleg

Reputation: 222017

Default jsonReader wait for cell as array of strings. So you should replace the part of the code

cell = new
{
    ProcessName = p.ProcessName.ToString(),
    WorkingSet64 = p.Memory.ToString()
}

to

cell = new [] { p.ProcessName, p.Memory.ToString() }

Upvotes: 2

Related Questions