利用ArrayCollection获取数据库的信息构建多级树结构
2011-08-23 16:18
441 查看
private function getDepartNameRHandler(event : ResultEvent) : void
{
[bindable]
var aryTemp : ArrayCollection = event.result as ArrayCollection;
aryDeptName=aryTemp;
var aryChildren:ArrayCollection=new ArrayCollection();
//先筛选出二级及以后分枝
for(var i:Number=aryDeptName.length-1; i >=0; i--)
{
var item:Object = aryDeptName.getItemAt(i);
if (item.SUPERDEPARTNUM>=0)
{
aryDeptName.removeItemAt(i);
aryChildren.addItem(item);
}
}
//二级及以后的分枝先构建树
var temparychildren1:ArrayCollection=new ArrayCollection();
var temparychildren2:ArrayCollection=new ArrayCollection();
temparychildren1=aryChildren;
temparychildren2=aryChildren;
for(var temp1:Number=temparychildren1.length-1;temp1>=0;temp1--)
{
for(var temp2:Number=temparychildren2.length-1;temp2>=0;temp2--)
{
if(temparychildren1.getItemAt(temp1).SUPERDEPARTNUM==temparychildren2.getItemAt(temp2).DEPARTNUM)
{
if(temparychildren2.getItemAt(temp2).children==null)
{
temparychildren2.getItemAt(temp2).children=new ArrayCollection([temparychildren1.getItemAt(temp1)])
}
else
{
temparychildren2.getItemAt(temp2).children.addItem(temparychildren1.getItemAt(temp1));
}
}
}
}
//将上面构建的树加载到一级根节点下面
for(var j:Number=temparychildren2.length-1;j>=0;j--)
{
for(var m:Number=0; m < aryDeptName.length-1;m++)
{
if(temparychildren2.getItemAt(j).SUPERDEPARTNUM == aryDeptName.getItemAt(m).DEPARTNUM)
{
if(aryDeptName.getItemAt(m).children==null)
{
aryDeptName.getItemAt(m).children=new ArrayCollection([temparychildren2.getItemAt(j)]);
// aryChildren.removeItemAt(j);
}
else
{
aryDeptName.getItemAt(m).children.addItem(temparychildren2.getItemAt(j));
// aryChildren.removeItemAt(j);
}
}
}
}
var aryDeptN:ArrayCollection=new ArrayCollection([{DEPARTNAME:"科室设置",children:aryDeptName},{DUTYNAME:"职务设置",children:aryDutyName}]);
aryDeptAndDuty=aryDeptN;
//this.tree.dataProvider=aryDepartandDuty;
}
{
[bindable]
var aryTemp : ArrayCollection = event.result as ArrayCollection;
aryDeptName=aryTemp;
var aryChildren:ArrayCollection=new ArrayCollection();
//先筛选出二级及以后分枝
for(var i:Number=aryDeptName.length-1; i >=0; i--)
{
var item:Object = aryDeptName.getItemAt(i);
if (item.SUPERDEPARTNUM>=0)
{
aryDeptName.removeItemAt(i);
aryChildren.addItem(item);
}
}
//二级及以后的分枝先构建树
var temparychildren1:ArrayCollection=new ArrayCollection();
var temparychildren2:ArrayCollection=new ArrayCollection();
temparychildren1=aryChildren;
temparychildren2=aryChildren;
for(var temp1:Number=temparychildren1.length-1;temp1>=0;temp1--)
{
for(var temp2:Number=temparychildren2.length-1;temp2>=0;temp2--)
{
if(temparychildren1.getItemAt(temp1).SUPERDEPARTNUM==temparychildren2.getItemAt(temp2).DEPARTNUM)
{
if(temparychildren2.getItemAt(temp2).children==null)
{
temparychildren2.getItemAt(temp2).children=new ArrayCollection([temparychildren1.getItemAt(temp1)])
}
else
{
temparychildren2.getItemAt(temp2).children.addItem(temparychildren1.getItemAt(temp1));
}
}
}
}
//将上面构建的树加载到一级根节点下面
for(var j:Number=temparychildren2.length-1;j>=0;j--)
{
for(var m:Number=0; m < aryDeptName.length-1;m++)
{
if(temparychildren2.getItemAt(j).SUPERDEPARTNUM == aryDeptName.getItemAt(m).DEPARTNUM)
{
if(aryDeptName.getItemAt(m).children==null)
{
aryDeptName.getItemAt(m).children=new ArrayCollection([temparychildren2.getItemAt(j)]);
// aryChildren.removeItemAt(j);
}
else
{
aryDeptName.getItemAt(m).children.addItem(temparychildren2.getItemAt(j));
// aryChildren.removeItemAt(j);
}
}
}
}
var aryDeptN:ArrayCollection=new ArrayCollection([{DEPARTNAME:"科室设置",children:aryDeptName},{DUTYNAME:"职务设置",children:aryDutyName}]);
aryDeptAndDuty=aryDeptN;
//this.tree.dataProvider=aryDepartandDuty;
}
相关文章推荐
- 利用POI将数据库表结构信息导入excel模板中
- MSSQL2000 获取数据库表、视图、存储过程等结构信息
- 利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法)
- 获取数据库结构信息
- Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。
- T-SQL获取数据库中的Table表结构信息,Column结构信息
- 本文使用c#通过oledb可获取excel文件表的结构信息,同理也可以获得access等数据库的表结构信息,实现如下:
- 利用struts2实现从数据库获取登录信息验证的应用
- Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。
- JDBC利用DatabaseMetaData,ResultSetMetaData获取数据库连接信息,数据库信息,表信息
- 获取数据库中表结构信息
- asp.net 下利用DirectoryEntry验证用户及获取域控制器下的用户结构信息
- 利用JDBC获取数据库表信息
- 利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法
- SQL从SQL SERVER中获取数据库结构信息
- 利用IP_ADAPTER_INFO结构获取网络适配器信息
- 利用JDOM从数据库读取信息生成XML树再到客户端实现
- 在.NET中根据SQL Server系统表获取数据库管理信息
- VB.net 查询获取数据库数据信息
- 利用GetObject("WinMgmts:")获取系统信息