/// <summary> /// 设置TreeNode的属性 /// </summary> /// <param name="node">TreeNode</param> /// <param name="materialNode">MaterialTreeNode</param> private void InitNode(DeluxeTreeNode node, MaterialTreeNode materialNode) { node.ToolTip = "点击打开文件"; node.Expanded = true; node.SelectedCssClass = " "; node.Html = string.Format("[{0}]<a href=\"{1}?requestType=download&rootPathName={2}&controlID={3}&fileName={4}&pathType={5}&filePath={6}&fileReadonly=true&userID={7}\" target=\"_blank\" >{8}</a>", (materialNode.Material.Department != null) ? materialNode.Material.Department.DisplayName : string.Empty, this.CurrentPageUrl, WebUtility.GetRequestQueryValue("rootPathName", string.Empty), WebUtility.GetRequestQueryValue("controlID", string.Empty), materialNode.Material.OriginalName, Convert.ToInt16(PathType.relative), HttpUtility.UrlEncode(materialNode.Material.RelativeFilePath), this.userID, HttpUtility.HtmlEncode(materialNode.Material.Title)); if (!string.IsNullOrEmpty(materialNode.Material.RelativeFilePath)) { string fileName = Path.GetFileName(materialNode.Material.RelativeFilePath); string fileIconPath = FileConfigHelper.GetFileIconPath(fileName); if (fileIconPath != string.Empty) { node.NodeCloseImg = fileIconPath; node.NodeOpenImg = fileIconPath; } } }
/// <summary> /// 初始化某个节点 /// </summary> /// <param name="node">节点</param> /// <param name="childNodes">子节点</param> private DeluxeTreeNode GenerateDeluxeTreeNode(MaterialTreeNode materialNode) { DeluxeTreeNode rootNode = new DeluxeTreeNode(materialNode.Material.Title, materialNode.Material.ID); this.InitNode(rootNode, materialNode); foreach (MaterialTreeNode node in materialNode.Children) { rootNode.Nodes.Add(GenerateDeluxeTreeNode(node)); } return(rootNode); }
private void InitTree() { string materialID = HttpUtility.UrlEncode(WebUtility.GetRequestQueryValue <string>("materialID", string.Empty)); if (materialID != string.Empty) { MaterialTreeNode rootNode = MaterialAdapter.Instance.LoadMaterialVersionsByMaterialID(materialID); if (rootNode == null) { return; } DeluxeTreeNode deluxeTreeNode = this.GenerateDeluxeTreeNode(rootNode); if (deluxeTreeNode != null) { this.treeControl.Visible = true; this.treeControl.Nodes.Add(deluxeTreeNode); } } }
/// <summary> ///由MaterialList形成以主版本为跟节点各版本为子节点的树 /// </summary> /// <param name="materials">包含主版本和其他版本的集合</param> /// <param name="mainMaterialID">重版本ID</param> /// <returns>形成的树</returns> private MaterialTreeNode GenerateMaterialVersionTree(MaterialList materials, string mainMaterialID) { MaterialTreeNode rootNode = null; MaterialTreeNodeCollection materialTreeNodeCollection = new MaterialTreeNodeCollection(); foreach (Material m in materials) { if (string.Compare(m.ID, mainMaterialID, true) == 0) rootNode = new MaterialTreeNode(m); else if (m.ParentID == mainMaterialID) { MaterialTreeNode node = GenerateMaterialVersionTree(materials, m.ID); if (node != null) materialTreeNodeCollection.Add(node); } } if (rootNode != null) { foreach (MaterialTreeNode node in materialTreeNodeCollection) { rootNode.Children.Add(node); } } return rootNode; }