一个简单的Demo挑选出被选中的节点:
页面代码:
protected
void
btnShow_Click(
object
sender, EventArgs e)
... {
TreeNode Node = new TreeNode("Root");
tvShow.Nodes.Add(Node);
TreeNode ChildNode1 = new TreeNode("ChildNode1");
TreeNode ChildNode2 = new TreeNode("ChildNode2");
TreeNode ChildNode3 = new TreeNode("ChildNode3");
Node.ChildNodes.Add(ChildNode1);
Node.ChildNodes.Add(ChildNode2);
Node.ChildNodes.Add(ChildNode3);
TreeNode Node2 = new TreeNode("Root2");
tvShow.Nodes.Add(Node2);
TreeNode ChildNode1For2 = new TreeNode("ChildNode1For2");
TreeNode ChildNode2For2 = new TreeNode("ChildNode1For2");
TreeNode ChildNode3For2 = new TreeNode("ChildNode1For2");
Node2.ChildNodes.Add(ChildNode1For2);
Node2.ChildNodes.Add(ChildNode2For2);
Node2.ChildNodes.Add(ChildNode3For2);
}
protected void btnGet_Click( object sender, EventArgs e)
... {
for (int i = 0; i < tvShow.Nodes.Count; i++)
...{
if (tvShow.Nodes[i].ChildNodes.Count > 0) //判断是否还有子节点
...{
GetNode(tvShow.Nodes[i]);
}
if (tvShow.Nodes[i].Checked == true) //判断是否被选中
...{
string s = tvShow.Nodes[i].Value.ToString();
ListBox1.Items.Add(s);
}
}
}
public void GetNode(TreeNode node)
... {
for (int i = 0; i < node.ChildNodes.Count; i++)
...{
if (node.ChildNodes[i].ChildNodes.Count > 0) //判断是否还有子节点
...{
GetNode(tvShow.Nodes[i]); //递归查找
}
if (node.ChildNodes[i].Checked == true) //判断是否被选中
...{
string s = node.ChildNodes[i].Value.ToString();
ListBox1.Items.Add(s);
}
}
}
... {
TreeNode Node = new TreeNode("Root");
tvShow.Nodes.Add(Node);
TreeNode ChildNode1 = new TreeNode("ChildNode1");
TreeNode ChildNode2 = new TreeNode("ChildNode2");
TreeNode ChildNode3 = new TreeNode("ChildNode3");
Node.ChildNodes.Add(ChildNode1);
Node.ChildNodes.Add(ChildNode2);
Node.ChildNodes.Add(ChildNode3);
TreeNode Node2 = new TreeNode("Root2");
tvShow.Nodes.Add(Node2);
TreeNode ChildNode1For2 = new TreeNode("ChildNode1For2");
TreeNode ChildNode2For2 = new TreeNode("ChildNode1For2");
TreeNode ChildNode3For2 = new TreeNode("ChildNode1For2");
Node2.ChildNodes.Add(ChildNode1For2);
Node2.ChildNodes.Add(ChildNode2For2);
Node2.ChildNodes.Add(ChildNode3For2);
}
protected void btnGet_Click( object sender, EventArgs e)
... {
for (int i = 0; i < tvShow.Nodes.Count; i++)
...{
if (tvShow.Nodes[i].ChildNodes.Count > 0) //判断是否还有子节点
...{
GetNode(tvShow.Nodes[i]);
}
if (tvShow.Nodes[i].Checked == true) //判断是否被选中
...{
string s = tvShow.Nodes[i].Value.ToString();
ListBox1.Items.Add(s);
}
}
}
public void GetNode(TreeNode node)
... {
for (int i = 0; i < node.ChildNodes.Count; i++)
...{
if (node.ChildNodes[i].ChildNodes.Count > 0) //判断是否还有子节点
...{
GetNode(tvShow.Nodes[i]); //递归查找
}
if (node.ChildNodes[i].Checked == true) //判断是否被选中
...{
string s = node.ChildNodes[i].Value.ToString();
ListBox1.Items.Add(s);
}
}
}
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
< head runat ="server" >
< title > 无标题页 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:TreeView ID ="tvShow" runat ="server" ShowCheckBoxes ="All" ></ asp:TreeView >< br />
< asp:Button ID ="btnShow" runat ="server" Text ="Show Data" onclick ="btnShow_Click" />
< asp:Button ID ="btnGet" runat ="server" Text ="Get Data" onclick ="btnGet_Click" />
</ div >
< asp:ListBox ID ="ListBox1" runat ="server" Height ="284px" Width ="250px" >
</ asp:ListBox >
</ form >
</ body >
</ html >
< head runat ="server" >
< title > 无标题页 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:TreeView ID ="tvShow" runat ="server" ShowCheckBoxes ="All" ></ asp:TreeView >< br />
< asp:Button ID ="btnShow" runat ="server" Text ="Show Data" onclick ="btnShow_Click" />
< asp:Button ID ="btnGet" runat ="server" Text ="Get Data" onclick ="btnGet_Click" />
</ div >
< asp:ListBox ID ="ListBox1" runat ="server" Height ="284px" Width ="250px" >
</ asp:ListBox >
</ form >
</ body >
</ html >