FindNode() public method

public FindNode ( string valuePath ) : System.Web.UI.WebControls.TreeNode
valuePath string
return System.Web.UI.WebControls.TreeNode
Example #1
0
        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);
                }
            }
        }
Example #2
0
 /* 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
    }