这样写,可以获取到parentId的所有下级吗
StringBuilder sbItem = new StringBuilder();
private void GetChild(int parentId)
{
DataTable dt = bll.GetEmployee(parentId);
foreach (DataRow dr in dt.Rows)
{
sbItem.Append(dr["id"].ToString()).Append("',");
GetChild(dr["id"].ToString()); //这里递归获取
}
}
这个方法怎么执行,我是担心这样,如我想取到1的所有下级
1的直接下级有 5 , 9 ,12
5的下级有 97 ,108, 97没有下级,是不是这个方法就执行结束了,108,9,12是不是执行不到了
StringBuilder sbItem = new StringBuilder();
private void GetChild(int parentId)
{
DataTable dt = bll.GetEmployee(parentId);
foreach (DataRow dr in dt.Rows)
{
sbItem.Append(dr["id"].ToString()).Append("',");
GetChild(dr["id"].ToString()); //这里递归获取
}
}
这个方法怎么执行,我是担心这样,如我想取到1的所有下级
1的直接下级有 5 , 9 ,12
5的下级有 97 ,108, 97没有下级,是不是这个方法就执行结束了,108,9,12是不是执行不到了
97没有下级
private void GetChild(int parentId)
{
DataTable dt = bll.GetEmployee(parentId);
foreach (DataRow dr in dt.Rows)
{
sbItem.Append(dr["id"].ToString()).Append("',");
GetChild(dr["id"].ToString()); //这里递归获取
}
}
dt.Rows.Count就等于0,
foreach (DataRow dr in dt.Rows) {
sbItem.Append(dr["id"].ToString()).Append("',");
GetChild(dr["id"].ToString()); //这里递归获取
}
就不会执行,为什么还会执行下去呢