![](/img/trans.png)
[英]How to load items into dropdownlist after selecting item from another dropdownlist in asp.net c#
[英]Load a TreeView from a DropDownList value C# ASP.NET
我有一个 asp.net 页面,其中有一个 TreeView 和一个 DropDownList。 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 的第一级节点(父节点)。
请问有什么帮助吗?
调用 TreeView.Nodes 只会访问 TreeView 的直接子节点。 为了访问较低的孩子,您可以使用某种类型的递归。
就像是:
void ClearTreeView(TreeNode parentNode){
foreach(TreeNode childNode in parentNode.Nodes){
if(childNode.Nodes.Count > 0){
ClearTreeView(childNode);
}
else{
childNode.Nodes.Clear();
}
}
}
该线程可能对您有所帮助,因为它展示了如何访问所有子节点、孙子节点等。
我只需要添加一个 TreeViewResume.DataBind(); 在重新创建 TreeView 之后:
protected void Ddl_SelectedIndexChanged(object sender, EventArgs e)
{
TreeViewResume.Nodes.Clear();
RemplirTableau();
TreeViewResume.DataBind();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.