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  這次才顯示正常

 

),否則不起作用.我也不明白為啥.

 

上面的都是我 個人實踐所得所想,哪里說得不對,希望高手指出….


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM