Jquery Jqgrid树状体数据格式

Jquery Jqgrid树状体数据格式,jquery,jqgrid,treegrid,Jquery,Jqgrid,Treegrid,我的环境:jqgrid 5.1,php5.3 我的数据: { "values": [ { "id": "1", "mac": "64:09:80:57:A6:EE", "username": "WIFI-DQ", "company": "Xiaomi Communications Co Ltd", "isLeaf": false, "expanded": true, "leve

我的环境:jqgrid 5.1,php5.3

我的数据:

{
"values": [
    {
        "id": "1",
        "mac": "64:09:80:57:A6:EE",
        "username": "WIFI-DQ",
        "company": "Xiaomi Communications Co Ltd",
        "isLeaf": false,
        "expanded": true,
        "level":0,
        "p_id": "0"
    },
    {
        "id": "2",
        "mac": "F0:B4:29:5A:B5:0F",
        "username": "1001",
        "company": "Tenda Technology Co., Ltd.",
        "isLeaf": false,
        "expanded": true,
        "level":0,
        "p_id": "0"
    },
    {
        "id": "3",
        "mac": "64:09:80:57:A6:EF",
        "username": "WIFI-DQ_5G",
        "company": "TP-LINK TECHNOLOGIES CO.,LTD.",
        "isLeaf": false,
        "expanded": true,
        "level":0,
        "p_id": "0"
    },
    {
        "id": "4",
        "mac": "00:1C:BF:8B:DF:8E",
        "username": "QCL16",
        "company": "Intel Corporate",
        "isLeaf": true,
        "expanded": true,
        "level":1,
        "p_id": "2"
    },
    {
        "id": "5",
        "mac": "98:2F:3C:07:56:36",
        "username": "admin23",
        "company": "Xiaomi Communications Co Ltd",
        "isLeaf": true,
        "expanded": true,
        "level":1,
        "p_id": "2"
    },
    {
        "id": "6",
        "mac": "34:80:B3:FC:3F:0B",
        "username": "Iphone",
        "company": "Iphone",
        "isLeaf": true,
        "expanded": true,
        "level":1,
        "p_id": "2"
    },
    {
        "id": "7",
        "mac": "35:85:B3:DC:3F:0B",
        "username": "Lenovo PC",
        "company": "Iphone",
        "isLeaf": true,
        "expanded": true,
        "level":1,
        "p_id": "3"
    }
],
"start": 0,
"limit": 15,
"end": 15,
"pageNumber": 1,
"totalSize": 7,
"totalPages": 1
}

我的html:

$('#tree').jqGrid({
            "url":"wifi.json",
            "styleUI" : 'Bootstrap',
            "colModel":[
                {
                    "name":"id",
                    "index":"id",
                    "sorttype":"int",
                    "key":true,
                    "hidden":true,
                    "width":50
                },{
                    "name":"username",
                    "index":"username",
                    "sorttype":"string",
                    "label":"Name",
                    "width":170,
                    formatter: function (value, grid, rows, state) { 
                        return "test:"+value;
                    }
                },{
                    "name":"mac",
                    "index":"mac",
                    "sorttype":"string",
                    "hidden":false,
                    "width":50
                }
            ],
            "width":"600",
            "hoverrows":false,
            "viewrecords":false,
            "gridview":true,
            "height":"auto",
            "loadonce":true,
            "rowNum":100,
            "scrollrows":true,
            // enable tree grid
            "treeGrid":true,
            // which column is expandable
            "ExpandColumn":"username",//点击那一列触发展开,收缩操作
            // datatype
            "treedatatype":"json",
            "treeIcons":{plus:'glyphicon-triangle-right',minus:'glyphicon-triangle-bottom',leaf:''},//plus:折叠起来的图标,minus:展开的图标,leaf:没有子节点了的图标
            // the model used
            "treeGridModel":"adjacency",
            "tree_root_level":0,
            // configuration of the data comming from server
            "treeReader":{
                //"left_field":"id",
                //"right_field":"id",
                "level_field":"level",//当前菜单的级别1级菜单,2级菜单....
                "parent_id_field": "p_id",//数据里面的父级节点的名称
                //"leaf_field":"isLeaf",
                "expanded_field":"expanded",//是否展开子节点
                //"loaded":"loaded",
                "icon_field":"icon"
            },
            jsonReader: {  
                root: "values",  
                repeatitems : false  
            }, 
            "sortorder":"asc",
            "datatype":"json"
        }); 
我有一个问题,是否需要对数据进行排序以显示它 测试时间,结果显示是混乱的,请如何修改?

了解旧jqGrid的当前实现是商业化的(您当前使用的),并假设输入数据中项目的特定顺序很重要。节点或叶必须跟随其父节点


id从4到6的项包含属性
“p\u id”:“2”
。这意味着必须将项目移动到直接位于项目
“id”:“2”
(项目
“id”:“2”
和项目
“id”:“3”
)之后的位置。它应该可以解决您描述的问题。

@m7lrv:是的
wifi.json
应该包含正确排序的数据。@m7lrv:不客气!我建议您使用Chrome/IE的开发工具检查TreeGrid的DOM。您将看到节点/叶子的排列顺序与包含数据的顺序完全相同(如
wifi.json
)。打开/展开节点只是使网格中的一些行可见(从一些
元素中删除
display:none
)。这样的实现是对TreeGrid的项目顺序存在限制的原因。@m7lrv:您是stackoverflow的新手。我提醒你,你应该在问题解决后再回答。通过接受,您将获得您的第一个声誉积分。@m7lrv:没问题!不客气!我的英语不太好,就像很多使用stackoverflow的人的英语一样…:-)