TreeView移动(选中节点,父节点子节点一起移动)
来源:互联网 发布:如何利用淘宝挣钱 编辑:程序博客网 时间:2024/04/28 06:40
<asp:TreeView ID="TreeView1" runat="server"> <Nodes> <asp:TreeNode ShowCheckBox="True" Text="aaa" Value="aaa"> <asp:TreeNode ShowCheckBox="True" Text="aaaa" Value="aaaa"> <asp:TreeNode ShowCheckBox="True" Text="aaaaa" Value="aaaaa"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode ShowCheckBox="True" Text="aaab" Value="aaab"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode ShowCheckBox="True" Text="bbb" Value="bbb"> <asp:TreeNode ShowCheckBox="True" Text="bbbb" Value="bbbb"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode ShowCheckBox="True" Text="ccc" Value="ccc"></asp:TreeNode> </Nodes> </asp:TreeView><br /> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /><br /> <asp:TreeView ID="TreeView2" runat="server"> </asp:TreeView>
protected void Button1_Click(object sender, EventArgs e) { for (int i = 0; i < TreeView1.Nodes.Count; i++) { if (TreeView1.Nodes[i].Checked) TreeView2.Nodes.Add(TreeView1.Nodes[i]); else GetChildNode(TreeView1.Nodes[i].ChildNodes); } } public void GetChildNode(TreeNodeCollection nodeCol) { for (int i = 0; i < nodeCol.Count; i++) { if (nodeCol[i].Checked) GetParentNode(nodeCol[i]); else GetChildNode(nodeCol[i].ChildNodes); } } public void GetParentNode(TreeNode node) { if (node.Depth == 0) TreeView2.Nodes.Add(node); else GetParentNode(node.Parent); }