如何实现treeview选种父节点的checkbox后其子节点的checkbox全部选种打上钩
我写了个代码但是提示我
集合已修改:可能无法实现枚举操作
代码如下
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
if (TreeView1.CheckedNodes.Count > 0)
{
foreach (TreeNode no in TreeView1.CheckedNodes)
{
if (no.ChildNodes.Count > 0)
{
foreach (TreeNode chino in no.ChildNodes)
{
chino.Checked = true;
}
}
}
}
}
而且TreeView1_TreeNodeCheckChanged事件也不是在点节点前的checkbox触发的
我想实现点节点前的checkbox 就触发事件 如果该节点有子节点 ,则该节点下所有子节点被选种 怎么弄
------解决方案-------------------- <%@ Page Language= "C# " %>
<script runat= "server ">
protected void Page_Load(object sender, EventArgs e)
{
TreeView1.Attributes.Add( "onclick ", "OnClientTreeNodeChecked(event) ");
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Request.Form[ "CheckedNode "] != null)
{
string CheckedNodeValue = Request.Form[ "CheckedNode "];
if (CheckedNodeValue == " ")
return;
if (CheckedNodeValue.EndsWith( ", "))
CheckedNodeValue = CheckedNodeValue.TrimEnd( ', ');
Response.Write( "您选择的节点有: "+CheckedNodeValue);
}
}
</script>
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head id= "Head1 " runat= "server ">
<title> 客户端实现全选子节点 </title>
<script type= "text/javascript " language= "javascript ">
//识别不同的浏览器
function getTargetElement(evt) {
var elem
if (evt.target)
{
elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
}
else
{
elem = evt.srcElement
}
retu