Solved

Select a Treenode from clientside or serverside

Posted on 2009-06-29
2
616 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 500 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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
Sometimes in DotNetNuke module development you want to swap controls within the same module definition.  In doing this DNN (somewhat annoyingly) swaps the Skin and Container definitions to the default admin selections.  To get around this you need t…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

825 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