Programmatically select a treeview node and expand the depth
-
Hi, I have a treeview I use as a menu. The treeview works perfect. BUT now I want to make a function where I add a new node to the menu programmatically. (I don't need help to add the new node in the database) I need help for: reload the menu and select the newly added node and expand the treeview to that node. I tried a lot, but nothing works for me. Said with other words: I need a way to expand the treeview and make a specific node selected I hope someone here can help me with my problem :-) My code:
TestMenu.aspx:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:TreeView ID="MenuTree" EnableClientScript="False" runat="server"ExpandDepth="15" ShowExpandCollapse="False"
ontreenodeexpanded="MenuTree_TreeNodeExpanded"ontreenodepopulate="MenuTree_TreeNodePopulate"
PathSeparator="/" ontreenodecollapsed="MenuTree_TreeNodeCollapsed"><NodeStyle CssClass="menulink" />
<SelectedNodeStyle CssClass="menulink" />
</asp:TreeView>
<br /><br /><br />
ID:
<asp:Label ID="lblMenuId" runat="server" Text="Label"></asp:Label>
<br /><br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</asp:Content>TestMenu.aspx.cs:
public partial class TestMenu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//16-06-2008 AS
//Get the top menu
try
{
DALMenu menu = new DALMenu();
if (menu.EditGetTopMenu(MenuTree) == Status.Success)
{
}
}
catch
{ }
}
}protected void MenuTree\_TreeNodePopulate(object sender, TreeNodeEventArgs e) { if (e.Node.Depth == 0) { try { DALMenu submenu = new DALMenu(); submenu.EditGetSubMenu(e.Node); } catch { } } } protected void MenuTree\_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { try { int key\_id = Convert.ToInt32(e.Node.Value); lblMenuId.Text = key\_id.ToString(); if (e.Node.Depth == 0) { TreeView t = (TreeView)sender; for (int i = 0; i < t.Nodes.Count; i++)