[原创]有相同父节点的一组子节点中只能选择一个,实现树中节点的单选功能!

原贴内容:
补充问一问题,在最底一层的子节点上面,我都加上了CheckBox,现在要求:
(1)有相同父节点的一组子节点中只能选择一个,选另一个时,原来选中的变为不选中。
(2)每一组(一组只有相同的父节点的)最底层的子节点,必须要选择一个。


 <script language="javascript">
function CheckOne()
         {
          
var cIndex=TreeView2.clickedNodeIndex;
          
var tmp=cIndex.split(".");
          
if (tmp.length==3)  //代表都是第3层节点
          {
            
var pNode=TreeView2.getTreeNode(cIndex);
            
var parentNode=pNode.getParent();
            
var NodeArray =new Array();
            NodeArray
=parentNode.getChildren();
            
for(var i=0;i<NodeArray.length;i++)
            {
                
var cNode=NodeArray[i];
                cNode.setAttribute('Checked','
false');
                
if (cNode.getAttribute("Text")==pNode.getAttribute("Text"))
                {
                 cNode.setAttribute('Checked','
true');
                }
                
            }
          }
         }
        
        
</script>


<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<iewc:TreeView id="TreeView2"   style="Z-INDEX: 101; LEFT: 264px; POSITION: absolute; TOP: 176px"                 runat="server">
                
<iewc:TreeNode Text="Node0" Expanded="True">
                    
<iewc:TreeNode Text="Node2" Expanded="True">
                        
<iewc:TreeNode Checked="True" CheckBox="True" Text="Node4"></iewc:TreeNode>
                        
<iewc:TreeNode CheckBox="True" Text="Node5"></iewc:TreeNode>
                        
<iewc:TreeNode CheckBox="True" Text="Node6"></iewc:TreeNode>
                        
<iewc:TreeNode CheckBox="True" Text="Node7"></iewc:TreeNode>
                    
</iewc:TreeNode>
                    
<iewc:TreeNode Text="Node3"></iewc:TreeNode>
                
</iewc:TreeNode>
                
<iewc:TreeNode Text="Node1"></iewc:TreeNode>
            
</iewc:TreeView>
       
      </form>
    
</body>

最后在加上一个后台代码:
 Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
              TreeView2.Attributes.Add(
"oncheck""javascript:CheckOne();")
    
End Sub

posted @ 2005-04-28 14:51  PointNet  阅读(1462)  评论(0编辑  收藏  举报