一棵树可能有相同名称的节点例如:
节点1
节点1得子节点_1
节点1得子节点_2
节点1得子节点_3
节点1得子节点_4
节点2
节点2得子节点_1
节点2得子节点_2
节点1
节点1得子节点_9
节点1得子节点_8
节点1得子节点_7
节点1得子节点_6问题是如何判断节点1中的子节点是否选中?
节点1
节点1得子节点_1
节点1得子节点_2
节点1得子节点_3
节点1得子节点_4
节点2
节点2得子节点_1
节点2得子节点_2
节点1
节点1得子节点_9
节点1得子节点_8
节点1得子节点_7
节点1得子节点_6问题是如何判断节点1中的子节点是否选中?
foreach (TreeNode node in TreeView1.CheckedNodes)
{
if (node.ValuePath.StartsWith(node1.ValuePath))
{
Response.Write("节点1或其子节点有被选中!");
break;
}
}
设置根节点的value=""判断你选中的节点的value是不是等于""
然后判断你选中的节点的父节点的值是不是等于""
如果父节点的值不等于"" 就说明选择的是子节点if(root.selectednode.value=="")
{
if(selectednode.parentnode.value!="")
{
alert("您选择的是节点1下的子节点");
}
else
{
alert("您选择的是节点1");
}
}这样应该比较明白了吧
{
TreeNode node1 = treeView1.Nodes[0]; if (node1.Checked || isChecked(node1.Nodes, node1.FullPath))
{
MessageBox.Show("节点1或其子节点有被选中!");
}
} private bool isChecked(TreeNodeCollection nodes, string basePath)
{
foreach (TreeNode node in nodes)
{
if (node.Checked && node.FullPath.StartsWith(basePath)) return true;
else return isChecked(node.Nodes, basePath);
}
return false;
}