【发布时间】:2017-06-20 10:39:28
【问题描述】:
我试图在扩展节点(父节点)时替换树节点。更换工作正常。但扩张没有发生。你有什么解决办法吗?
代码如下:
<asp:TreeView ID="tvContentTree" runat="server" RootNodeStyle-CssClass="RootAllKeys"
ParentNodeStyle-CssClass="ParentAllKeys" ShowCheckBoxes="All" ImageSet="Simple" NodeIndent="10" OnTreeNodeExpanded="Populate_Node" >
<HoverNodeStyle Font-Underline="True" ForeColor="#DD5555" />
<NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" />
<ParentNodeStyle Font-Bold="False" />
<SelectedNodeStyle Font-Underline="True" ForeColor="#DD5555" HorizontalPadding="0px" VerticalPadding="0px" />
</asp:TreeView>
public void Populate_Node(Object sender, TreeNodeEventArgs e)
{
foreach (System.Web.UI.WebControls.TreeNode tn in tvContentTree.Nodes)
{
tn.ChildNodes.RemoveAt(1);
tn.ChildNodes.AddAt(1,ParentNode);
}
}
如果我评论该行
"tn.ChildNodes.RemoveAt(1);"
然后扩展工作正常。所以 removeat 函数导致了这个问题。
【问题讨论】:
-
变量nodeIndex的值是多少?
-
只是index的数值,以1为例
-
我从问题中删除了 nodeindex 变量
-
我猜,AddAt 应该类似于 ;tn.ChildNodes.AddAt(1,ParentNode);
-
是的,更正了它...
标签: c# asp.net .net vb.net treeview