JqGrid学习总结_9树形表格TreeGrid

1、树形表格TreeGrid官网:
     http://www.trirand.com/jqgridwiki/doku.php?id=wiki:treegrid
2、从后台获取数据显示为树形表格:
  通常会在后台定义一个类
    publicclass TreeData{
     private Integer id;
    private String menu;
    private String url;
    ........它们的get与set方法
   }
  而要使后台传入的数据能够以树形表格显示,需要在类中添加以下变量:
   level:number 表示此数据在哪一级,
   isLeaf:boolean 表示此数据是否为叶子节点
  parent:mixed  表示父节点是哪个,如果当前节点为父节点,则值为null,不是父节点则           为其父节点ID
   laoded:boolean 表示是否加载完成,设置为True表示加载完成,不需要在加载
       注意:1、一般设置此值为True,这样在点击树节点就不会再次调用后台数据,加载数                据,避免数据重复
   expanded: boolean 表示此节点是否展开
 因此定义一个表格接收的类
   public classTreeData{
      private Integer id;
      private String menu;
      private String url;
      privateInteger level;
      privateBoolean isLeaf
      privateString parent;
      private Booleanloaded;
      privateBoolean expanded;
    ........它们的get与set方法
    }
  注意:  level,isLeaf,parent,loaded,expanded这几个字段保证大小写正确,这几个字段数JqGrid树    形表格默认的
  根据数据应该显示在哪个节点给level,isLeaf,parent,loaded,expanded赋值
  JqGrid会根据接收的这几个变量的值,显示为树形表格
3、从后台获取数据显示为树形表格实例(jqGrid接收的是后台传入的上述类的列表)
   $(document).ready(function(){
       jQuery("#list").jqGrid({
           treeGrid:true,//w为ture则为树形表格
          treeGridModel:"adjacency",
          ExpandColumn:"menu",//展开的列
           ExpandColClick:true,//树形表格是否展开
          url="",//后台action的地址
           dataType:"json",
          colManes:["id","menu","url"],
           colModel[
            { name="id",index:"id",hidden:true  },
            { name="menu",index:"menu",hidden:false },
            { name="url",index:"url",hidden:false},
            ],
         page:false,
         height:"auto",
         viewrecords:true,
         caption:"树形表格实例",
      jsonReader:{
            root:“DataStr”,
            repeatitems:false
            }

     });
  });
假设后台返回的Json数据为:
{“DataStr”:[
{ "id":1, "menu":"menu1","url":"url",             
"level":"0","parent":null, "isLeaf":false,"expanded":false,"loaded":true },
{ "id":2, "menu":"menu2", "url":"url2", "level":"1", "parent":1,                        "isLeaf":true, "expanded":false,"loaded":true },
 { "id":3, "menu":"menu3", "url":"url3", "level":"1",                                  "parent":1, "isLeaf":true, "expanded":false, "loaded":true },
 { "id":4, "menu":"menu4", "url":"url4", "level":"0", "parent":null,             "isLeaf":false,"expanded":false, "loaded":true },
 { "id":5, "menu":"menu4", "url":"url4", "level":"1", "parent":4,                "isLeaf":true, "expanded":false, "loaded":true},
   ]}
 

你可能感兴趣的:(jqgrid)