c# - 如果检查了所有子节点,则检查父节点 C# asp.net

标签 c# asp.net treeview

我有一个继承自 asp.net TreeView 控件的自定义 TreeView 。具有 n 级父子关系。根据一些计算,我检查了子节点。如果检查了所有子节点,我希望应该检查父节点。因为我正在根据一些计算检查子节点,所以我不能在检查事件后使用。 有人可以为我提供 C# 代码吗?

    private TreeNode _parentNode;
private void CheckedParent(TreeNodeCollection nodeCollection)
        {
            foreach (TreeNode node in nodeCollection)
            {
                if (node.ChildNodes.Count > 0)
                {
                    _parentNode = node;
                    CheckedParent(node.ChildNodes);
                }
                else
                {
                    bool allChildChecked = true
                    foreach (TreeNode childNode in nodeCollection)
                    {
                        if (!childNode.Checked)
                        {
                            allChildChecked = false;
                        }
                    }

                }
            }
            if (allChildChecked )
            {
                _parentNode.Checked = true;
                _isAllChildChecked = false;
            }
}

最佳答案

如果所有子节点都被选中,该方法将返回true;否则它将返回 false

    private bool AllChildChecked(TreeNode currentNode)
    {
        bool res = true;

        foreach (TreeNode node in currentNode.ChildNodes)
        {
            res = node.Checked;
            if (!res) break;

            res = this.AllChildChecked(node);
            if (!res) break;
        }

        return res;
    }

关于c# - 如果检查了所有子节点,则检查父节点 C# asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11614126/

相关文章:

c# - 在类内部时设置属性或字段?

c# - 如何从不同的输入插入

VS 2013 RC 中缺少 ASP.NET Web 窗体脚手架功能

c# - 格式化动态 GridView

javascript - 当 initcomponent 加载 store extjs 4.1.1 时, View 不显示 store

c# - 尝试进行分层更新会导致错误 "A foreign key value cannot be inserted"

c# - WPF MVVM : Binding to property of object

asp.net - 如何使用 PowerShell 了解托管在 IIS 中的特定网站的事件 session 计数

xml - Odoo:无法在 TreeView 中编辑记录?

javascript - Bootstrap Treeview 中不同背景颜色的节点