在easyui框架中,当你需要加载树形列表的时候,需要用到treeGrid来实现它。

在table中

    需要将class定义为 class="easyui-treegrid"  

    在data-options里面,设置好url,也就是你要查询的后台链接;在给它一个loadFilter事件   loadFilter:questiontype.loadFilter,这时候,在你加载表格的时候,它会执行js里面的loadFilter方法。 这个方法才是树形列表的核心

 

 

loadFilter : function(data,parent){

  //data是后台传过来的数据  是easyui通用格式 下面包含total(数据总数),rows(数据)

  var rows = data.rows;(获取所有的数据)

  var datas =[];

  for(var i=0;i<rows.length;i++){

    var obj = rows[i];//获取当前的数据

    obj._parentId = obj.pId; //将获取的id给_parentId 赋值

    data.push(obj);

  }

  data.rows = datas;

  return data;

}

 

这样就形成了你需要的树形表格了,但是他是默认展开的。如果你想默认不展开,只显示一级分类的话,只需要添加state,并且将state属性设置为“closed”就好了

loadFilter : function(data,parent){

  //data是后台传过来的数据  是easyui通用格式 下面包含total(数据总数),rows(数据)

  var rows = data.rows;(获取所有的数据)

  var datas =[];

  for(var i=0;i<rows.length;i++){

    var obj = rows[i];//获取当前的数据

    obj.state="closed";  //将树形列表设置为默认不展开。如果你想展开二级,三级不展开,只需要加判断就行  判断rows里面你的分类level(第几级分类)

    obj._parentId = obj.pId; //将获取的id给_parentId 赋值

    data.push(obj);

  }

  data.rows = datas;

  return data;

}