首页 > 解决方案 > 从 DropDownList 值加载 TreeView C# ASP.NET

问题描述

我有一个带有 TreeView 和 DropDownList 的 asp.net 页面。TreeView 在代码隐藏中定义:

            <asp:TreeView ID="TreeViewResume" runat="server" ImageSet="Simple" NodeIndent="15" OnSelectedNodeChanged="ClickTreeViewResume">
            <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
            <NodeStyle Font-Names="Tahoma" Font-Size="12pt" ForeColor="#203239" HorizontalPadding="0px"
                NodeSpacing="0px" VerticalPadding="4px"></NodeStyle>
            <ParentNodeStyle Font-Bold="False" />
            <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="2px"
                VerticalPadding="0px" />
        </asp:TreeView>

所以 DropDownList :

<asp:Panel ID="PanelDdl" runat="server">Sélection de la période : <asp:DropDownList ID="Ddl" runat="server" OnSelectedIndexChanged="Ddl_SelectedIndexChanged" AutoPostBack="true">

我通过 Page_Load() 中的代码加载 TreeView:

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        RemplirTableau();
    }
}

我希望在 DropDownList 的 SelectedIndexChange() 上,TreeView 的 SQL 源更改并且 Treeview 重绘。

protected void Ddl_SelectedIndexChanged(object sender, EventArgs e)
{
    TreeViewResume.Nodes.Clear();
    RemplirTableau();        
}

取而代之的是,仅打印 TreeView 的第一级节点(父节点)。

请问有什么帮助吗?

标签: c#asp.netdrop-down-menutreeview

解决方案


我只需要添加一个 TreeViewResume.DataBind(); 在重新创建 TreeView 之后:

    protected void Ddl_SelectedIndexChanged(object sender, EventArgs e)
{
    TreeViewResume.Nodes.Clear();
    RemplirTableau();
    TreeViewResume.DataBind();
}  

推荐阅读