|
楼主 |
发表于 2018-9-4 11:06:58
|
显示全部楼层
ok 用了一个递归,结合loadData 解决了,谢谢var depts = data.department;
var deptData = me.comp("deptData");
function toTree(data)
{
data.forEach(function (item)
{
delete item.rows;
});
var map = {};
data.forEach(function (item) {
map[item.id] = item;
});
var val = [];
data.forEach(function (item)
{
// 以当前遍历项,的pid,去map对象中找到索引的id
var parent = map[item.parentid];
// 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
if (parent)
{
(parent.rows || ( parent.rows = [] )).push(item);
}
else
{
//如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
val.push(item);
}
});
return val;
}
try
{
var deptMateData = toTree(depts);
deptData.deleteAllData();
deptData.loadData(deptMateData,true);
var grid= me.comp("grid_Dept");
grid.refresh();
}
catch(e)
{
}
|
|