//遍历子公司 private void RecursivelyCompanyClass(Guid companyClassId, RadTreeNode node) { var companyClass = new CompanyClass(GlobalConfig.DB.FromType.Read); IList <CompanyClassInfo> childCompanyClassList = companyClass.GetChildCompanyClassList(companyClassId); foreach (CompanyClassInfo companyClassInfo in childCompanyClassList) { if (string.IsNullOrWhiteSpace(companyClassInfo.CompanyClassName)) { continue; } RadTreeNode childNode = CreateNode(companyClassInfo.CompanyClassName, "BusinessRelatedUnits", false, companyClassInfo.CompanyClassId.ToString()); childNode.PostBack = true; node.Nodes.Add(childNode); RecursivelyCompanyClass(companyClassInfo.CompanyClassId, childNode); RepetitionCompanyCussent(companyClassInfo.CompanyClassId, childNode); } }
/// <summary>获取往来单位分类 /// </summary> /// <param name="companyClassId"></param> /// <param name="depth"></param> /// <returns></returns> public static IList <CompanyClassInfo> RecursionCompanyClass(Guid companyClassId, int depth) { depth++; var companyClass = new CompanyClass(GlobalConfig.DB.FromType.Read); IList <CompanyClassInfo> companyClassTree = new List <CompanyClassInfo>(); IList <CompanyClassInfo> companyClassList = companyClass.GetChildCompanyClassList(companyClassId); string tag = depth == 1 ? "+" : "|" + new String('-', depth * 2); foreach (CompanyClassInfo companyClassInfo in companyClassList) { companyClassInfo.CompanyClassName = tag + companyClassInfo.CompanyClassName; companyClassTree.Add(companyClassInfo); foreach ( CompanyClassInfo childCompanyClassInfo in RecursionCompanyClass(companyClassInfo.CompanyClassId, depth)) { companyClassTree.Add(childCompanyClassInfo); } } return(companyClassTree); }