我有一个继承自asp.net树形视图控件的自定义树形视图,其中存在n层父子关系。根据某些计算,我已经勾选了子节点。如果所有子节点都被勾选,我希望父节点也被勾选。由于我是基于某些计算检查子节点的,所以我不能使用“after check”事件。 有人能为我提供这方面的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;
}
}