Adding the same TreeNode to two nodes in a TreeView

T

Turban

When I attempt to run the following code:

protected void NavigationTreeView_TreeNodePopulate(object sender,
TreeNodeEventArgs e) {
TreeNode tn1 = new TreeNode("node1","node1");
TreeNode tn2 = new TreeNode("node2", "node2");
TreeNode newNode = new TreeNode("add me to both nodes", "add me to
both nodes");
e.Node.ChildNodes.Add(tn1);
e.Node.ChildNodes.Add(tn2);
tn1.ChildNodes.Add(newNode);
tn2.ChildNodes.Add(newNode);
}

It does not behave as expected. Instead of adding a copy of newNode to each
of the other two nodes, it adds to tn1 and then when it adds it to tn2 it
removes it from tn1, thus in the end only tn2 has the newNode and tn1 has no
children. This surprises me. How can I add the same node to two separate
locations in a treeview?
 
M

Mike Brind

Turban said:
When I attempt to run the following code:

protected void NavigationTreeView_TreeNodePopulate(object sender,
TreeNodeEventArgs e) {
TreeNode tn1 = new TreeNode("node1","node1");
TreeNode tn2 = new TreeNode("node2", "node2");
TreeNode newNode = new TreeNode("add me to both nodes", "add me to
both nodes");
e.Node.ChildNodes.Add(tn1);
e.Node.ChildNodes.Add(tn2);
tn1.ChildNodes.Add(newNode);
tn2.ChildNodes.Add(newNode);
}

It does not behave as expected. Instead of adding a copy of newNode to each
of the other two nodes, it adds to tn1 and then when it adds it to tn2 it
removes it from tn1, thus in the end only tn2 has the newNode and tn1 has no
children. This surprises me. How can I add the same node to two separate
locations in a treeview?

If you had read a few posts within this group before making yours -
just to make sure that you were posting to a relevant group and not
wasting your time - you would very quickly have come across something
like this:

This group covers classic ASP. Dotnet is a different technology. Try
posting your question to microsoft.public.dotnet.framework.aspnet.

or

There was no way for you to know it (except maybe by browsing through
some
of the previous questions before posting yours - always a recommended
practice), but this is a classic asp newsgroup.
ASP.Net is a different technology from classic ASP.
While you may be lucky enough to find a dotnet-savvy person here who
can
answer your question, you can eliminate the luck factor by posting your
question to a newsgroup where the dotnet-savvy people hang out. I
suggest
microsoft.public.dotnet.framework.aspnet.

or

This group is for classic ASP. Direct questions regarding ASP.NET to
microsoft.public.dotnet.framework.aspnet[.*] newsgroups.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,901
Latest member
Noble71S45

Latest Threads

Top