如果选择了父级,则asp检查所有子节点

时间:2013-11-04 14:55:31

标签: c# asp.net

我有一个Tree视图控件,我正在设置;如果选择了父节点,则也将选择所有子节点。

我试图在服务器端进行此操作,但没有运气。有人能说清楚一点。

这是我的代码:

protected void tv_WLG_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
    TreeNode tnParentNode = e.Node;
    foreach (TreeNode n in tnParentNode.ChildNodes)
    {
        n.Checked = true;
    }
}

1 个答案:

答案 0 :(得分:1)

我猜你的意思是:

protected void tv_WLG_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) 
{
    if (e.Node.Checked) 
    {
        var stack = new Stack<TreeNode>();
        stack.Push(e.Node);
        while (stack.Count > 0) 
        {
            var node = stack.Pop();
            node.Checked = true;
            foreach (TreeNode childNode in node.ChildNodes) 
            {
                stack.Push(childNode);
            }
        }
    }
}