protected void BindClassView(ITreeProvider provider, Guid parentID, Ext.Net.TreeNode parentNode, Guid selectedID) { List<ITreeNode> list = new List<ITreeNode>(); if (!parentID.Equals(Guid.Empty) && parentNode == null) { ITreeNode entity = provider.GetTreeNode(parentID); if (entity == null) return; list.Add(entity); } else { list = provider.GetList(parentID, User.ID, Roles); //List<ITreeNode> list = provider.GetList(parentID); } foreach (ITreeNode item in list) { Ext.Net.TreeNode treeNode; treeNode = new Ext.Net.TreeNode(item.ID.ToString(), item.Name, Ext.Net.Icon.Folder); treeNode.Cls = "TreeNode-Default"; if (parentNode != null) parentNode.Nodes.Add(treeNode); else (ClassView.Root[0] as Ext.Net.TreeNode).Nodes.Add(treeNode); if (item.ID == selectedID) { //this.selectedNodeID = this.RequestClassificationTreeID; //this.selectedNodeText = item.Name; ClassView.SelectNode(treeNode.NodeID); Ext.Net.TreeNodeBase tmpParent = treeNode.ParentNode; while (tmpParent != null) { tmpParent.Expanded = true; tmpParent = tmpParent.ParentNode; } //ClassView.SelectNode(treeNode.NodeID); //ClassView.ExpandChildNodes(treeNode.NodeID); } this.BindClassView(provider, item.ID, treeNode, selectedID); } }
/*public void BindClassificationView(ITreeProvider provider, Guid parentID, TreeNode parentNode, Guid selectedID) { List<ITreeNode> list = new List<ITreeNode>(); if (!parentID.Equals(Guid.Empty) && parentNode == null) { ITreeNode entity = provider.GetTreeNode(parentID); if (entity == null) return; list.Add(entity); } else { list = provider.GetList(parentID, User.ID, Roles); //List<ITreeNode> list = provider.GetList(parentID); } foreach (ITreeNode item in list) { Basic.ColoredTreeNode node; switch (item.Section) { case TreeNodeSection.Custom: node = new Basic.ColoredTreeNode(item.Name, String.Format("cust-{0}", item.ID)); node.Color = case TreeNodeSection.Default: new Basic.ColoredTreeNode(item.Name, item.ID.ToString()); } = new Basic.ColoredTreeNode(item.Name, item.ID.ToString()); node.Color = item.Color; if (item.ID == selectedID) node.Select(); node.NavigateUrl = string.Format("Grid.aspx?cid={0}&pid={1}", node.Value, this.ClassificationTopNodeID); if (parentNode != null) parentNode.ChildNodes.Add(node); else ClassificationView.Nodes.Add(node); this.BindClassificationView(provider, item.ID, node, selectedID); } }*/ public void BindClassView(ITreeProvider provider, Guid parentID, Ext.Net.TreeNode parentNode, Guid selectedID) { List<ITreeNode> list = new List<ITreeNode>(); if (!parentID.Equals(Guid.Empty) && parentNode == null) { ITreeNode entity = provider.GetTreeNode(parentID); if (entity == null) return; list.Add(entity); } else { list = provider.GetList(parentID, User.ID, Roles); //List<ITreeNode> list = provider.GetList(parentID); } foreach (ITreeNode item in list) { Ext.Net.TreeNode treeNode; if (item.ID.Equals(new Guid("00497ABC-7ADB-11E0-AD88-63F04724019B"))) { // hack for "Wares" treeNode = new Ext.Net.TreeNode(String.Format("ware-{0}", item.ID), item.Name, Ext.Net.Icon.Folder); treeNode.Cls = "TreeNode-Wares"; treeNode.Href = String.Format("/Technology/ListWares.aspx"); } else { switch (item.Section) { case TreeNodeSection.Custom: treeNode = new Ext.Net.TreeNode(String.Format("cust-{0}", item.ID), item.Name, Ext.Net.Icon.Folder); treeNode.Cls = "TreeNode-Custom"; break; case TreeNodeSection.Dictionary: treeNode = new Ext.Net.TreeNode(String.Format("dict-{0}", item.ID), item.Name, Ext.Net.Icon.Folder); treeNode.Cls = "TreeNode-Dictionary"; break; default: treeNode = new Ext.Net.TreeNode(String.Format("dflt-{0}", item.ID), item.Name, Ext.Net.Icon.Folder); treeNode.Cls = "TreeNode-Default"; break; } treeNode.Href = String.Format("/Grid.aspx?cid={0}", item.ID); } if (parentNode != null) parentNode.Nodes.Add(treeNode); else (ClassView.Root[0] as Ext.Net.TreeNode).Nodes.Add(treeNode); if (item.ID == this.RequestClassificationTreeID) { this.selectedNodeID = this.RequestClassificationTreeID; this.selectedNodeText = item.Name; ClassView.SelectNode(treeNode.NodeID); Ext.Net.TreeNodeBase tmpParent = treeNode.ParentNode; while (tmpParent != null) { tmpParent.Expanded = true; tmpParent = tmpParent.ParentNode; } //ClassView.SelectNode(treeNode.NodeID); //ClassView.ExpandChildNodes(treeNode.NodeID); } this.BindClassView(provider, item.ID, treeNode, selectedID); } }