Solved

Populating JQGrid with C# JSON

Posted on 2011-09-26
2
1,949 Views
Last Modified: 2012-05-12
Hi,

I have been trying to populate a JQGrid using JSON created by a C# webservice.  It is coming back with a status of "success", but no data is appearing in the grid.  Below is the data which is being returned from the webservice.  Is there something wrong with the format here?

{"total": "5","page": "1","records": "5","rows":[{"id":"1","cell":["1","user1","dublin","first user","","17/01/2011 21:37:08"]},
{"id":"2","cell":["2","Administrator","dublin","administrator","15/04/2011 14:15:08","18/02/2011 20:55:24"]}, {"id":"3","cell":["3","user 2","dublin","","13/05/2011 15:18:47","13/05/2011 10:52:03"]}, {"id":"4","cell":["4","user 3","dublin","third user","23/06/2011 17:59:06","15/06/2011 13:51:35"]}, {"id":"5","cell":["5","user 4","dublin","fourth user","","09/08/2010 08:53:49"]} ]}

The JQuery to populate the grid is:
   
<script language="javascript" type="text/javascript">
       jQuery(document).ready(function () {
           jQuery("#list2").jqGrid({
               datatype: function () {
                   $.ajax({
                       url: "/webservices/activedirectory.asmx/GetActiveDirectoryUsersJson",
                       data: '{"GroupName":"test","Filter":""}',
                       dataType: "json",
                       type: "POST",
                       contentType: "application/json; charset=utf-8",
                       complete: function (jsondata, stat) {
                           if (stat == "success") {
                               var thegrid = jQuery("#list2")[0];
                               alert(JSON.parse(jsondata.responseText).d);
                               thegrid.addJSONData(JSON.parse(jsondata.responseText).d);
                           }
                       }
                   });
               },
               colNames: ['ID', 'LogonName', 'DomainName', 'Description', 'Last Logon', 'Days Since PW Changed'],
               colModel: [
                            { name: 'id', index: 'id asc', width: 155 },
                            { name: 'LogonName', index: 'logonname asc', width: 155 },
                            { name: 'DomainName', index: 'domainname', width: 150 },
                            { name: 'Description', index: 'description', width: 200 },
                            { name: 'LastLogon', index: 'lastlogon', width: 80, align: "right" },
                            { name: 'pwdlastset', index: 'pwdlastset', width: 180, align: "right"}],
               rowNum: 15,
               rowList: [15, 30, 100],
               pager: jQuery('#pager2'),
               sortname: 'logonname',
               loadtext: "loading data...",
               viewrecords: true,
               sortorder: "desc",
               jsonReader: {
                   root: "d",
                   page: function () { return 1; },
                   total: function () { return 1; },
                   records: function (obj) { return obj.length; }
               }
           });

       });
               </script>

Open in new window


Many thanks
0
Comment
Question by:itfocus
2 Comments
 
LVL 82

Accepted Solution

by:
leakim971 earned 125 total points
ID: 36600432
column names are not the same
0
 

Author Closing Comment

by:itfocus
ID: 36998669
Oops; I didn't spot that at the time.  Thanks
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Google Directions API to Map URL -C#? 3 38
jquery datepciker end date add 6 days 6 58
Expression Evaluater 3 38
how to remove duplicate code from my project 5 37
jQuery is a JavaScript library that greatly simplifies JavaScript programming. AJAX is an acronym formed from "Asynchronous JavaScript and XML."  AJAX refers to any communication between client and server, when the human client does not observe a…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question