Search code examples
jqgridtreegrid

jqgrid tree reader not working


My sample Json object is shown below:

{
    "o": [
        {
            "level": 0,
            "outlineItemId": 8,
            "parentItemId": null,
            "parentItem": null,
            "order": 0,
            "text": "section 1",
            "isLeaf": "false",
            "expanded": "true"
        },
        {
            "level": 1,
            "outlineItemId": 9,
            "parentItemId": 8,
            "parentItem": {
                "level": 0,
                "outlineItemId": 8,
                "parentItemId": null,
                "parentItem": null,
                "order": 0,
                "text": "section 1",
                "isLeaf": "false",
                "expanded": "true"
            },
            "order": 0,
            "text": "sub 1",
            "isLeaf": "false",
            "expanded": "true"
        },
        {
            "level": 2,
            "outlineItemId": 10,
            "parentItemId": 9,
            "parentItem": {
                "level": 1,
                "outlineItemId": 9,
                "parentItemId": 8,
                "parentItem": {
                    "level": 0,
                    "outlineItemId": 8,
                    "parentItemId": null,
                    "parentItem": null,
                    "order": 0,
                    "text": "section 1",
                    "isLeaf": "false",
                    "expanded": "true"
                },
                "order": 0,
                "text": "sub 1",
                "isLeaf": "false",
                "negateDevice": null,
                "expanded": "true"
            },
            "order": 0,
            "text": "sub sub 1",
            "isLeaf": "true",
            "expanded": "true"
        }
    ]
}

Earlier when the tree was configured as:

treeReader: {
    level_field: "level",
        parent_id_field: "parentItemId",
        leaf_field: "isLeaf",
        expanded_field: "expanded"
},

I was displaying the correct indentation and image icons, however they were not expanded when the json obj always had "expanded":"true" so i tried the below code.

treeReader: {
    level_field: "o.level",
        parent_id_field: "o.parentItemId",
        leaf_field: "o.isLeaf",
        expanded_field: "o.expanded"
},

Now I am not getting the Image icons and the tree which was expanded earlier is now flat.

My Json reader just in case i goofed up..

    jsonReader: {
        root: 'o',
        id: 'o.outlineItemId',
        parentItemId: 'o.parentItem.outlineItemId',
        text: 'o.text',
        repeatitems: false,
        page:  function(obj) { return 1; },
        total: function(obj) { return 1; },
        records: function(obj) { return obj.o.length; },
      },

Any help will be appreciated. Shah


Solution

  • Got it!

    For the reader i had to include cell:'' and remove the o. references. and also loaded:true in the json object.