public void BuildOrgStructureTree() { stfOrgStructureTableAdapter dAdapt = new stfOrgStructureTableAdapter(); dsITO.stfOrgStructureDataTable orgStTbl = new dsITO.stfOrgStructureDataTable(); dAdapt.Fill(orgStTbl); string filterString = "UpDepID is NULL"; DataRow[] orgUnit = orgStTbl.Select(filterString); //Отбражаем организационные единицы верхнего уровня UpDepID NULL for (int i = 0; i < orgUnit.Length; i++) { tvDepartments.Nodes.Add(orgUnit[i]["DepartmentID"].ToString(), orgUnit[i]["ShortName"].ToString() + " " + orgUnit[i]["Name"].ToString()); FillTreeChild(orgUnit[i]["DepartmentID"].ToString(), tvDepartments.Nodes[0]); } }
public void FillTreeChild(string parentDep, TreeNode ParentNode) { stfOrgStructureTableAdapter dAdapt = new stfOrgStructureTableAdapter(); ITO_DAL.dsITO.stfOrgStructureDataTable orgStTbl = new dsITO.stfOrgStructureDataTable(); dAdapt.Fill(orgStTbl); string filterString = "UpDepID=" + parentDep; DataRow[] orgUnit = orgStTbl.Select(filterString); //Отбражаем организационные единицы верхнего уровня UpDepID NULL for (int i = 0; i < orgUnit.Length; i++) { ParentNode.Nodes.Add(orgUnit[i]["DepartmentID"].ToString(), orgUnit[i]["ShortName"].ToString() + " " + orgUnit[i]["Name"].ToString()); FillTreeChild(orgUnit[i]["DepartmentID"].ToString(), ParentNode.Nodes[i]); } }