jqGrid with JSON data renders table as empty

后端 未结 9 2163
孤独总比滥情好
孤独总比滥情好 2020-12-30 06:39

I\'m trying to create a jqgrid, but the table is empty. The table renders, but the data doesn\'t show.

The data I\'m getting back from the php call is:



        
相关标签:
9条回答
  • 2020-12-30 07:11

    I also got it to work: datatype is the correct spelling -- it's shown that way in the example but it is inconsistent with everything else in the library so it was easy to get wrong

    I'm getting very tired chasing this sparse documentation around and I really feel like JSON, which is right and proper to be using in JavaScript, has really been given short coverage in favor of XML. Python and JavaScript together, through JSON, is a really strong combination, but it's a constant struggle with this particular library.

    Anyone with an alternative that:

    1> Properly supports jQuery UI themes (including rounded corners!) (http://datatables.net has much nicer support for themes)

    2> Allows resizing of columns (http://datatables.net doesn't support this out of the box)

    3> Allows sub-grids (http://datatables.net lets you do whatever you want here, through an event)

    please let me know. I'm spending more time on this one part of my interface than on the whole rest of it combined and it's all the time spent searching for working examples and "trying things" which is just getting annoying.

    S

    0 讨论(0)
  • 2020-12-30 07:16

    Guys just want to help you in this. I got following worked:

    JSON

    var mydata1 = { "page": "1", "total": 1, "records": "4","rows": [{ "id": 1, "cell": ["1", "cell11", "values1" ] },
        { "id": 2, "cell": ["2", "cell21", "values1"] },
        { "id": 3, "cell": ["3", "cell21", "values1"] },
        { "id": 4, "cell": ["4", "cell21", "values1"] }
    ]};
    

    //Mark below important line. datatype "jsonstring" worked for me instead of "json".

    datatype: "jsonstring",
    
    contentType: "application/json; charset=utf-8",
    
    datastr: mydata1,
    
    colNames: ['Id1', 'Name1', 'Values1'],
    
    colModel: [
          { name: 'id1', index: 'id1', width: 55 },
          { name: 'name1', index: 'name1', width: 80, align: 'right', sorttype: 'string' },
          { name: 'values1', index: 'values1', width: 80, align: 'right', sorttype: 'string'}],
    

    Regards,

    0 讨论(0)
  • 2020-12-30 07:18

    I got it to work!

    The dataType field should be datatype. It's case sensitive.

    0 讨论(0)
  • 2020-12-30 07:22

    The problem also occures when you include script jquery.jqGrid.min.js before then grid.locale-en.js. Check this if there are any problems with controller's method call.

    0 讨论(0)
  • 2020-12-30 07:30

    In my case, the problem was caused by the following line of PHP code (which was taken from jqGrid demo):

    $responce->page = $page;
    

    What is wrong here is that: I am accessing property page of object $responce without creating it first. This caused Apache to display the following error message:

    Strict Standards: Creating default object from empty value in /home/mariusz/public_html/rezerwacja/apps/frontend/modules/service/actions/actions.class.php on line 35
    

    And finally the error message used to be send to json reader within the script.

    I fixed the problem by creating empty object:

    $responce = new stdClass();
    
    0 讨论(0)
  • 2020-12-30 07:31

    I was working with WAMP 2.4, I was being crazy with this problem, I tried lot of things, like install previous versions of PHP and like 5.2, een I tried in Windows XP, and lots of jqGrid options. Well thank to Oleg finally and Mariusz I find the only line:

    $responce = new stdClass(); 
    

    Before the use of $responce could solve all, and now my grid is works Great!!!

    Thanks my friends.

    0 讨论(0)
提交回复
热议问题