TreeView节点选择问题

就是VS2005的TreeView中父节点的CheckBox被点击 则其下的所有子节点也被选中

子节点只要有一个选择 父节点也被选择上

子节点没有一个被选择 父节点就取消选择

查找csdn的上的代码,这里引用了cpp2017(慕白兄)  的js代码.
    <script >
 function GoClick()
 {
   
   var obj = event.srcElement;
   if(obj.tagName.toUpperCase() != "INPUT") return;
   var tb = obj.parentElement.parentElement.parentElement.parentElement;//当前节点的Table
 
   SelAllChildren(tb,obj.checked);
 
   tb=  tb.parentElement;//
  
   while(true)
   {
      tb = tb.previousSibling
     if( tb == null) return;
      SetParentCheckBoxStatus(tb);
      tb=  tb.parentElement
      if( tb == null) return;
   }
   
 }
 
 
 function SelAllChildren(tb,checked)
 {
    var div = tb.nextSibling;
   try
   {
    for(var i=0;i<div.children.length;i++)
    {
      
        if(div.children[i].tagName.toUpperCase()!="TABLE")continue;
        var chkBox= FindRowCheckBox(div.children[i].rows[0]);
        if(chkBox == null) continue;
        chkBox.checked = checked;
       
        SelAllChildren(div.children[i],checked);
       
    }
    }catch(e){}
 }
 function SetParentCheckBoxStatus(objTb)
 {
    var div = objTb.nextSibling;
    
    var bSelAll = true;
    var bSelOne = false;
    for(var i=0;i<div.children.length;i++)
    {
       
        if(div.children[i].tagName.toUpperCase()!="TABLE")continue;
       
        var chkBox= FindRowCheckBox(div.children[i].rows[0]);
       
        if(!chkBox.checked)
        {
            bSelAll =false;
        }else
        {
            bSelOne = true;
        }
    }
   
   
    if(objTb.rows!= null)
    {
        var chkBox = FindRowCheckBox(objTb.rows[0])
        chkBox.checked  = bSelOne;
       
    }
 }
 
 function FindRowCheckBox(tr)
 {
    for(var i=0;i<tr.cells.length;i++)
    {
        if(tr.cells[i].firstChild.tagName == "INPUT")
        {
            return tr.cells[i].firstChild;
        }
    }
 }
 
 
 function CheckDeleteTree(form,treeviewid)
{
    if(document.getElementById(treeviewid+"_SelectedNode").value == "")
    {
        alert("请选择!");
        return
    }else
    {
        return confirm("确定?");
    }

}

</script>

<asp:TreeView ID="TreeView1" 
        οnclick="javascript:GoClick()"
        EnableClientScript="true"/>

可以实现我需要的功能 ,这里特别感谢 慕白兄

转载于:https://www.cnblogs.com/86188281/archive/2007/05/30/764785.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值