public static void DeleteDept(int id)
{
Department d=new Department(id);
if (d!=null)
{
d.Delete(); //delete child department
if (HasChildDept(deptid))
{
IList l=Department.FindDeptBySuperior(deptid);
for (i=0;i<l.Count;i++)
{
int ID=((Department)l[i]).Dept_ID;
DeleteDept(ID);
}
}
}
}这种方法肯定行不通的,必须先删除最后的节点,然后往上删,如何得到最后一级的节点?
{
Department d=new Department(id);
if (d!=null)
{
d.Delete(); //delete child department
if (HasChildDept(deptid))
{
IList l=Department.FindDeptBySuperior(deptid);
for (i=0;i<l.Count;i++)
{
int ID=((Department)l[i]).Dept_ID;
DeleteDept(ID);
}
}
}
}这种方法肯定行不通的,必须先删除最后的节点,然后往上删,如何得到最后一级的节点?
{
Department d=new Department(id);
if (d!=null)
{
//delete child department
if (HasChildDept(deptid))
{
IList l=Department.FindDeptBySuperior(deptid);
for (i=0;i<l.Count;i++)
{
int ID=((Department)l[i]).Dept_ID;
DeleteDept(ID);
}
}
//确信子节点删除后,再删除当前节点;
d.Delete(); }
}
TreeView.Nodes.Clear()