JQgrid tree 终于有数据了,, 没数据的童鞋 来看吧

今天 搞 这个tree弄了半天没出数据,后来又 深入研究了一下 官网给的php的例子,本来确实看不懂,

静下心来研究了一下,终于搞懂了

先看一下 成果:

image

 

下面贴代码:

$("#treegrid").jqGrid({
               treeGrid: true,
               treeGridModel: 'adjacency',
               ExpandColumn: 'name',
               ExpandColClick: true,
               url: 'tree.json',
               datatype: 'json',
               colNames: ["管理选项"],
               colModel: [{
                   name: 'name',
                   index: 'name'

               }],
               pager: "false",
               height: 'auto',
               width: '210',
               viewrecords: true,
               //   caption: 'none',
               jsonReader: {
                   root: "rows",
                   total: "total",
                   repeatitems: true
               }

           });

 

<table id="treegrid" style="width: 100%">
          </table>

个人感觉,到此为止都是易事, 难就难再  服务器返回的数据格式, 我值研究了 json数据,

下面贴出数据:

{
        "total":11,
        "page":1,
        "records":11,
        "rows":[
            {
   "id": 1,
                "cell":[
                    "所有文件夹",
                 
                    0,
                    null,
                    false , 
                    true
                ]
            },
            {
            "id":10,
            "cell":["还asd原",1,1,false,false]
           
            }
     ,
           
             {
   "id": 2,
                "cell":[
                    "我的笔记",
                
                    0,
                   null,
                   false,
                   false
                ]
            }, {
   "id": 3,
                "cell":[
                    "InfoPath",
                
                    1,
                    2,
                    true,
                    true
                ]
            }, {
   "id": 4,
                "cell":[
                    "SharePoint",
                  
                    1,
                    2,
                    true,
                    true
                ]
            }, {
   "id": 5,
                "cell":[
                    "WorkFlow",
                  
                    1,
                    2,
                    true,
                    false
                ]
            },
            {
   "id": 6,
                "cell":[
                    "草稿",
                
                    0,
                    null,
                    true,
                    false
                ]
            }, {
   "id": 7,
                "cell":[
                    "我的任务",
               
                    0,
                    null,
                    true,
                    false
                ]
            }
     , {
   "id": 8,
                "cell":[
                    "已删除",
                
                    0,
                      null,
                    false,
                    false
                ]
            },
            {
            "id":9,
            "cell":["",1,8,false,false]
           
            },
            {
            "id":11,
            "cell":["还原",0,null,false,false]
           
            },
            {
            "id":9,
            "cell":["还原",0,null,false,false]
           
            }
           
        ]
}

 

我着重说一下 cell 内的第一个 false/true 的意义.

这个的意思就是  是否本节点 还有子节点,  如果配置为 false,那么就是说他有 子节点, 当点击这个节点的时候,

js会判断 目前 这个节点 是否含有子节点,如果有 ,那么就不发送请求,如果没有子节点.就会发送ajax请求, 来请求 子节点.

至于最后一个 true/false是啥意思,我还没弄明白,

有高手知道的可以告诉我啊.

对了,在解释一下 cell 里面 数字的含义.

就拿  id=1 和id=2的 两个节点来说明:

id=1 的cell 是这样配置的:  image  第一个引号内的文字,就是 js脚本内定义的colModel,一一对应的. 0 就是顶级节点,1下一集节点,以此类推,

null 是 父节点的id号, 但是这个父节点id要在 其 父节点下面来声明(说的我都糊涂了,用图证明吧   

 

代码:

{
        "total":11,
        "page":1,
        "records":11,
        "rows":[
        {"id":1,"cell":["sss1",0,null,false,false]},
        {"id":2,"cell":["sss2",0,null,true,false]},
        {"id":3,"cell":["sss3",1,1,true,false]}
       
        ]

    }

效果是这样的:image  虽然在 id=3的节点 声明了 父节点是id为1的节点,但是当 展开sss1的时候,却发生如图的效果.

 

下面来看一下,换一下 节点的位置:

代码:

{
        "total":11,
        "page":1,
        "records":11,
        "rows":[
        {"id":1,"cell":["sss1",0,null,false,false]},
        {"id":3,"cell":["sss3",1,1,true,false]},
        {"id":2,"cell":["sss2",0,null,true,false]}
       
       
        ]

}

效果是这样的:image  这次才显示正常

 

),否则不起作用.我也不明白为啥.

 

上面的都是我 个人实践所得所想,哪里说得不对,希望高手指出….

posted @ 2012-03-20 14:56  高捍得  阅读(7113)  评论(0编辑  收藏  举报