locked
Hover Node In TreeView RRS feed

  • Question

  • User-1097889214 posted

    At first root node I can hover, but when expand root node, I can't hover any more. How can I hover on all node.

    Tuesday, June 16, 2020 4:21 AM

All replies

  • User-719153870 posted

    Hi torikachi24,

    At first root node I can hover, but when expand root node, I can't hover any more.

    Would you please explain what do you mean by "I can hover" and "I can't hover"? Please share some code maybe?

    Below is a demo built based on my guess, code from TreeView Control In ASP.NET and asp.net - Change TreeView hover node style programmatically.

    aspx:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:TreeView runat="server" ID="TreeView1">
                    <Nodes>
                        <asp:TreeNode Text="Home" NavigateUrl="~/Default.aspx" Target="_blank" />
                        <asp:TreeNode Text="Employee" NavigateUrl="~/Employee.aspx" Target="_blank">
                            <asp:TreeNode Text="Upload Resume" NavigateUrl="~/Upload_Resume.aspx" Target="_blank" />
                            <asp:TreeNode Text="Edit Resume" NavigateUrl="~/Edit_Resume.aspx" Target="_blank" />
                            <asp:TreeNode Text="View Resume" NavigateUrl="~/View_Resume.aspx" Target="_blank" />
                        </asp:TreeNode>
                        <asp:TreeNode Text="Employer" NavigateUrl="~/Employer.aspx" Target="_blank">
                            <asp:TreeNode Text="Upload Job" NavigateUrl="~/Upload_Job.aspx" Target="_blank" />
                            <asp:TreeNode Text="Edit Job" NavigateUrl="~/Edit_Job.aspx" Target="_blank" />
                            <asp:TreeNode Text="View Job" NavigateUrl="~/View_Job.aspx" Target="_blank" />
                        </asp:TreeNode>
                        <asp:TreeNode Text="Admin" NavigateUrl="~/Admin.aspx" Target="_blank">
                            <asp:TreeNode Text="Add User" NavigateUrl="~/Add_User.aspx" Target="_blank" />
                            <asp:TreeNode Text="Edit User" NavigateUrl="~/Edit_Use.aspx" Target="_blank" />
                            <asp:TreeNode Text="View User" NavigateUrl="~/View_User.aspx" Target="_blank" />
                        </asp:TreeNode>
                    </Nodes>
                </asp:TreeView>
            </div>
        </form>
    </body>
    </html>

    cs:

            protected void Page_Load(object sender, EventArgs e)
            {
                if (!this.IsPostBack)
                {
                    TreeView1.HoverNodeStyle.BackColor = Color.Crimson;
                    TreeView1.HoverNodeStyle.ForeColor = Color.FloralWhite;
                    TreeView1.HoverNodeStyle.BorderWidth = 1;
                    TreeView1.HoverNodeStyle.BorderColor = Color.HotPink;
                    TreeView1.HoverNodeStyle.Font.Bold = true;
                    TreeView1.HoverNodeStyle.Font.Italic = true;
                }
            }

    result:

    Best Regard,

    Yang Shen

    Tuesday, June 16, 2020 5:51 AM
  • User-1097889214 posted

    Because I'm add node in code behind and have event calling  base on hover node, so after expand I can't hover

      private void BrowsePage_Enter()
            {try
                {
                    Connect.myReferenceDescriptionCollection = Connect.myClientHelperAPI.BrowseRoot();
                    foreach (ReferenceDescription refDesc in Connect.myReferenceDescriptionCollection)
                    {
                        _ref = refDesc;
                        CustomTreeNode Root = new CustomTreeNode("Root");
                        Root.Text = refDesc.DisplayName.ToString();
                        Root.Tag = _ref;
                        nodeTreeView.Nodes.Add(Root);
                    }
                }
                catch (Exception ex)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "Alert", "mess('error','Opps...'," + ex.ToString() + ")", true);
                }
            }

    Its like that https://drive.google.com/file/d/1f4TJFzPYMEqVr3rUi_dnSSnh_mh_PQUQ/view?usp=sharing

    Tuesday, June 16, 2020 6:14 AM
  • User-719153870 posted

    Hi torikachi24,

    The code provided is not enough, i mean the community need the code to reproduce your issue.

    Any way, if you mean the underline disappears when you hover on the node for some reason, you can add it back to the nodes programmatically.

    Please refert to below code:

    aspx:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <style>
            .under {
                text-decoration: underline;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:TreeView runat="server" ID="TreeView1" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
                    <Nodes>
                        <asp:TreeNode Text="Home" NavigateUrl="~/Default.aspx"/>
                        <asp:TreeNode Text="Employee" NavigateUrl="~/Employee.aspx" Target="_blank">
                            <asp:TreeNode Text="Upload Resume" Target="_blank" />
                            <asp:TreeNode Text="Edit Resume" Target="_blank" />
                            <asp:TreeNode Text="View Resume"  />
                        </asp:TreeNode>
                        <asp:TreeNode Text="Employer" NavigateUrl="~/Employer.aspx" Target="_blank">
                            <asp:TreeNode Text="Upload Job" NavigateUrl="~/Upload_Job.aspx" Target="_blank" />
                            <asp:TreeNode Text="Edit Job" NavigateUrl="~/Edit_Job.aspx" Target="_blank" />
                            <asp:TreeNode Text="View Job" NavigateUrl="~/View_Job.aspx" Target="_blank" />
                        </asp:TreeNode>
                        <asp:TreeNode Text="Admin" NavigateUrl="~/Admin.aspx" Target="_blank">
                            <asp:TreeNode Text="Add User" NavigateUrl="~/Add_User.aspx" Target="_blank" />
                            <asp:TreeNode Text="Edit User" NavigateUrl="~/Edit_Use.aspx" Target="_blank" />
                            <asp:TreeNode Text="View User" NavigateUrl="~/View_User.aspx" Target="_blank" />
                        </asp:TreeNode>
                    </Nodes>
                </asp:TreeView>
                <asp:Button ID="Button1" runat="server" Text="Add Node" OnClick="Button1_Click" />
            </div>
        </form>
    </body>
    </html>

    cs:

            protected void Page_Load(object sender, EventArgs e)
            {
                if (!this.IsPostBack)
                {
                    //TreeView1.HoverNodeStyle.BackColor = Color.Crimson;
                    //TreeView1.HoverNodeStyle.ForeColor = Color.FloralWhite;
                    //TreeView1.HoverNodeStyle.BorderWidth = 1;
                    TreeView1.HoverNodeStyle.CssClass = "under";
                    //TreeView1.HoverNodeStyle.BorderColor = Color.HotPink;
                    //TreeView1.HoverNodeStyle.Font.Bold = true;
                    //TreeView1.HoverNodeStyle.Font.Italic = true;
                }
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                CustomTreeNode Root = new CustomTreeNode("Root");
                Root.Text = "newNode";
                Root.Tag = "newTag";
                TreeView1.Nodes.Add(Root);
            }

    result:

    If this not work for you, please share enough code and information that we can reproduce the issue and help fix it.

    Thanks,

    Yang Shen

    Tuesday, June 16, 2020 7:28 AM