List<SysYearlyPlanClassModel> list = m_BLL.GetAll();//首先获取所有数据
List<SysYearlyPlanClassModel> childlist = GetSonNode(id, list);//根据id和所有数据list获取改id下的所有子级id
List<string> ClassID = new List<string>();
foreach (SysYearlyPlanClassModel item in childlist)
{
ClassIDs += "'" + item.ClassID + "'" + ",";
}
ClassIDs += "'" + id + "'";//得到选中的父级id和其所有子级的id,以逗号隔开的字符串
#region 通过父节点找到所有子节点
public static List<SysYearlyPlanClassModel> GetSonNode(string ClassID, List<SysYearlyPlanClassModel> nodeList)
{
var query = nodeList.Where(c => c.ParentClassID == ClassID);
return query.ToList().Concat(query.ToList().SelectMany(t => GetSonNode(t.ClassID, nodeList))).ToList();
}
#endregion
参考文章C# 通过某一个节点ID获取所有的当前分支的所有节点
《杂诗》 陶渊明 魏晋
人生无根蒂,飘如陌上尘。
分散逐风转,此已非常身。
落地为兄弟,何必骨肉亲!
得欢当作乐,斗酒聚比邻。
盛年不重来,一日难再晨。
及时当勉励,岁月不待人。