public FindNode ( string valuePath ) : System.Web.UI.WebControls.TreeNode | ||
valuePath | string | |
return | System.Web.UI.WebControls.TreeNode |
private static void ExpandValuePath(TreeView treeView, string valuePath) { if (treeView == null) return; if (valuePath == null) return; if (valuePath.Length > 0) { TreeNode treeNode; treeNode = treeView.FindNode(valuePath); if (treeNode != null) { if ( (treeNode.Expanded == null) || (treeNode.Expanded.Equals(false)) ) { treeNode.Expand(); log.Debug("Expanded treeNode found for value path " + valuePath); } } else { log.Debug(" treeNode was null for " + valuePath); } } }
/* value should be empty for classname nodes, namespace name for namespace nodes */ private void InsertNode(TreeView tv, string text, string value, string valuepath, TreeNodeCollection parent) { TreeNode node = tv.FindNode(valuepath); if (node == null) { node = new TreeNode(Server.HtmlEncode(text), value); if (parent == null) { tv.Nodes.Add(node); } else { parent.Add(node); } if (valuepath == query_ns) { node.Selected = true; } else if (!query_ns.StartsWith(valuepath)) { node.Collapse(); } } }
protected void GenarateMainMenu() { #region 生成主菜单datatable DataTable dt = Right_Module_BLL.GetBrowseMoudleByUser(Session["UserName"].ToString()); DataRow[] RootRows = dt.Select("SuperID=1"); if (dt != null && RootRows.Length > 0) { for (int i = 0; i < RootRows.Length; i++) { DataRow dr = RootRows[i]; int superid = (int)dr["SuperID"]; int menuid = (int)dr["ID"]; if (superid == 1) { AjaxControlToolkit.AccordionPane p = new AjaxControlToolkit.AccordionPane(); p.ID = "AccordionPane" + menuid.ToString(); HyperLink hy = new HyperLink(); hy.Text = (string)dr["Name"]; p.HeaderContainer.Controls.Add(hy); TreeView tr = new TreeView(); tr.ImageSet = TreeViewImageSet.Custom; tr.ShowExpandCollapse = true; tr.ExpandImageUrl = "~/Images/icon/TreeExpand.gif"; tr.NoExpandImageUrl = "~/Images/icon/TreeNode.gif"; tr.CollapseImageUrl = "~/Images/icon/TreeCollapse.gif"; tr.SelectedNodeStyle.Font.Bold = true; tr.SelectedNodeStyle.ForeColor = System.Drawing.Color.Red; tr.SelectedNodeStyle.BackColor = System.Drawing.Color.Yellow; tr.EnableViewState = true; GenareateSubMenu(dt, i, tr.Nodes, menuid); tr.SelectedNodeChanged += tr_SelectedNodeChanged; tr.TreeNodePopulate += tr_TreeNodePopulate; p.ContentContainer.Controls.Add(tr); Ac_MainMenu.Panes.Add(p); #region 只有当前已选择的树节点及至所有父节点才展开,其余折叠 if (Session["ActiveRootNode"] != null && (int)Session["ActiveRootNode"] == i && ViewState["CurrentRootNode"] != null) { string nodepath = (string)ViewState["CurrentRootNode"]; TreeNode node = tr.FindNode(nodepath); if (node != null) { //node.ImageUrl = "~/Images/icon/TreeCollapse.gif"; node.ExpandAll(); } } #endregion } } if (Session["ActiveRootNode"] != null) Ac_MainMenu.SelectedIndex = (int)Session["ActiveRootNode"]; //wc.DataSource = dt; } else Response.Write("对不起,当前用户没有分配任何浏览权限!"); #endregion }