在easyui框架中,当你须要加载树形列表的时候,须要用到treeGrid来实现它。框架
在table中ui
须要将class定义为 class="easyui-treegrid" url
在data-options里面,设置好url,也就是你要查询的后台连接;在给它一个loadFilter事件 loadFilter:questiontype.loadFilter,这时候,在你加载表格的时候,它会执行js里面的loadFilter方法。 这个方法才是树形列表的核心blog
loadFilter : function(data,parent){事件
//data是后台传过来的数据 是easyui通用格式 下面包含total(数据总数),rows(数据)io
var rows = data.rows;(获取全部的数据)table
var datas =[];function
for(var i=0;i<rows.length;i++){class
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;
}