Improve company productivity with a Business Account.Sign Up

x
?
Solved

Select a Treenode from clientside or serverside

Posted on 2009-06-29
2
Medium Priority
?
632 Views
Last Modified: 2012-05-07
Hi All,
Can i set TreeView1.SelectedValue dynamically in serverside or clientside.This is my treeview
<asp:TreeView ID="TreeView1" runat="server" onselectednodechanged="TreeView1_SelectedNodeChanged">
<nodes>
<asp:TreeNode Value="1" Text="Parent1">
<asp:TreeNode Value="11" Text="child11"/>
<asp:TreeNode Value="12" Text="child12"/>
</asp:TreeNode>
<asp:TreeNode Value="2" Text="Parent2"></asp:TreeNode>
<asp:TreeNode Value="3" Text="Parent3"></asp:TreeNode>
</nodes>
</asp:TreeView>

I want to set TreeView1.SelectedValue="11" on pageload .How can i do this?Any Suggestions.
0
Comment
Question by:sastry_sagi
  • 2
2 Comments
 
LVL 20

Expert Comment

by:ddayx10
ID: 24742574
Dude this is so messsed up it makes me wanna throw a tantrem.

Anyway the property for selectednode is readonly (which is crazy) as you probably already figured out. So the only way to set the node is to loop through the treeview.nodes, check their value and if it is the value you want then set it as selected using the node.selected property.

This will only work if you have 1 level of treenodes though. If you try this on a treeview with say 3 levels of nodes you will not have success. I put together a small sample using your treeview that does a recursive check through all node levels, finds the one you want and selects it....enjoy!

PS: I didnt know if you wanted C# or VB so you got what I was working with at the time (vb)
****YOUR ASPX CODE, WITH SELECTED NODE STYLE ADDED SO WE CAN SEE WHAT HAPPENS ****
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
	<asp:TreeView ID="TreeView1" runat="server" ForeColor="Red" SelectedNodeStyle-BackColor="Green">
		<Nodes>
			<asp:TreeNode Value="1" Text="Parent1">
				<asp:TreeNode Value="11" Text="child11" />
				<asp:TreeNode Value="12" Text="child12" />
			</asp:TreeNode>
			<asp:TreeNode Value="2" Text="Parent2"></asp:TreeNode>
			<asp:TreeNode Value="3" Text="Parent3"></asp:TreeNode>
		</Nodes>
	</asp:TreeView>
	</form>
</body>
</html>
 
 
****CODE BEHIND****
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        recursiveNodeCheck(TreeView1.Nodes, "3")
    End Sub
 
    Public Sub recursiveNodeCheck(ByVal nod As TreeNodeCollection, ByVal sValue As String)
        For Each tn As TreeNode In nod
            If tn.Value = sValue Then
                tn.Selected = True
            Else
                recursiveNodeCheck(tn.ChildNodes, sValue)
            End If
        Next
    End Sub

Open in new window

0
 
LVL 20

Accepted Solution

by:
ddayx10 earned 2000 total points
ID: 24742585
PSS: Make sure you dont do this before you have bound your control. In your sample it was manually built so it doesnt matter, but if you add/remove to the treeview using code behind then you cant check/set the selectedvalue until after you finish manipulating it.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
An ASP.NET Web Form User Control is not newly introduced in ASP.NET. In fact, it was an old technology yet still playing a role to generate web content, especially when we want to use it to have a better and easy way to control part of the web conte…
When you have multiple client accounts to manage, it often feels like there aren’t enough hours in the day. With too many applications to juggle, you can’t focus on your clients, much less your growing to-do list. But that doesn’t have to be the cas…
Watch the working video to know how to import Outlook PST/OST files to Amazon WorkMail. Kernel released this tool which is very easy to use and migrate single or multiple PST and OST files to Amazon WorkMail. To know more about Kernel Import PST to …

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question