private void StartBuildTreeView() { maxlevel = template.Fields.Max(x => x.Level); var currentLevel = 1; var dt = dynamicQueryForGeneral.GetData(currentLevel); #if alexj dt = AuthorizationRules.EntityInstancesResolution(dt, template.Entity, Session["SystemUser.objID"].ToString()); dt.Columns.Remove("objID"); #endif //Если что то пошло не так! if (dt.Rows.Count == 0) { return; } tree.Nodes.Add( CreateNewHeaderNode(template.Fields.Where(x => x.Level == currentLevel).ToList())); foreach (DataRow row in dt.Rows) { var node = CreateNewNode(row, currentLevel); TreeNodeCollection collect = BuildChildNodes(row, currentLevel); FillNode(collect, ref node); tree.Nodes.Add(node); } MainView.ActiveViewIndex = 2; }
private TreeNodeCollection BuildChildNodesChildren(DataRow row) { var currentLevel = 1; dynamicQueryForChildren.parent = "parentID = " + row["objID"].ToString(); var dt = dynamicQueryForChildren.GetData(currentLevel, row); #if alexj dt = AuthorizationRules.EntityInstancesResolution(dt, template.Entity, Session["SystemUser.objID"].ToString()); //dt.Columns.Remove("objID"); #endif TreeNode nodeContainer = new TreeNode(); if (dt.Rows.Count != 0) { nodeContainer.ChildNodes.Add( CreateNewHeaderNode(template.Fields.Where(x => x.Level == currentLevel).ToList())); } foreach (DataRow item in dt.Rows) { var node = CreateFirstNode_Children(item, currentLevel); TreeNodeCollection collection = BuildChildNodesChildren(item); //, currentLevel); FillNode(collection, ref node); nodeContainer.ChildNodes.Add(node); } return(nodeContainer.ChildNodes); }