在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;
}