Microsfot.Web.UI.WebControls.Tre…

Microsfot.Web.UI.WebControls.TreeView JavaScript控制方法研究

http://caidaoli.cnblogs.com/archive/2005/02/23/108317.html?Pending=true

  1. 被选择的节点的索引:
    tree.selectedNodeIndex

  2. 被单击的节点的索引:
    tree.clickedNodeIndex

  3. 获取一个节点:
    tree.getTreeNode(nodeIndex)

  4. 在根节点下增加一个子节点:
    var tree = document.all['TreeView1'];
    var node = tree.createTreeNode() ;
    tree.add(node);
    node.setAttribute( "text", "aaaa");

  5. 在当前节点下增加一个子节点:
    var tree = document.all['TreeView1'];
    var node = tree.createTreeNode() ;
    var parentNode = tree.getTreeNode( tree.clickedNodeIndex);
    parentNode.add(node);
    node.setAttribute( "text", "aaaa");

  6. 通过XML文件来增加子节点:
    node.setAttribute("NavigateUrl","xxx");
    node.databind();
  7. 动态增加子节点后自动展开:
    node.setAttribute('expanded', 'true');//MS提供的HTC中需要修改一个地方,否则就会产生一个异常
  8. 获取节点的属性:
    node.getAttribute("xxx")
  9. 设置节点的属性 :
    node.setAttribute('xxx', 'xxxx');
  10. 常用属性列表:
    属性含义
    CheckBoxTrue False是否有选择框
    checkedTrue False选择框是否被选中
    ExpandedTrue False是否展开
    ImageURL 正常状态下左边的图标
    SelectedImageUrl 当节点被选择时左边的图标
    ExpandedImageUrl 当节点被展开后左边的图标
    Target 目标框架
    navigateurl 目标URL
    type 节点的类型
    childtype 子节点的类型
    Text 节点显示的文本
    innerText  
    innerHTML  
    defaultstyle 默认的风格
    hoverstyle 当鼠标移到节点的上面时的风格
    selectedstyle 当节点被选择时的风格
    treenodesrc  
  11. 获取父节点:
    node.getParent()
  12. 获取子节点:
    node.getChildren()
  13. 判断节点是否有子节点
    node.getChildren().length > 0
  14. 响应onselectedindexchange事件:
    var tree = document.all["tvMain"];
    tree.attachEvent("onselectedindexchange", SelectedIndexChange);

 

 

=========================

<script language="javascript">   
            function tree_oncheck(tree)
            {
                var node 
= tree.getTreeNode(tree.clickedNodeIndex); 
                var Pchecked 
= node.getAttribute("checked");
                alert(Pchecked);
                var inde
=node.getNodeIndex();
                
if(inde!=null)
                {
                    tree.queueEvent(
'oncheck'node.getNodeIndex());
                }
                setcheck(node, Pchecked,tree);
                setParentCheck(node,tree,Pchecked);
            }
             
//父节点操作
            function   setParentCheck(node,tree,pchecked)   
              
                var tempNode;    
                tempNode
=node.getParent();   
                
if(tempNode!=null  
                  
                    var inde
=tempNode.getNodeIndex();
                    if(inde!=null && pchecked)
                      
                        var axz
=tempNode.getAttribute("checked");
                        
if(!axz)
                        {
                            tempNode.setAttribute(
"Checked","true"); 
                            tree.queueEvent(
'oncheck'tempNode.getNodeIndex());
                        }
                        setParentCheck(tempNode,tree,pchecked);
                    
                  
              
                        
//子节点操作
            function setcheck(node, Pc,t)
            {
                var ChildNode 
= new Array();
                ChildNode 
= node.getChildren();
                
if (parseInt(ChildNode.length) != 0)
                {
                    
for (var = 0< ChildNode.length; i++)
                    {
                        var cNode 
= ChildNode[i];
                        var inde
=cNode.getNodeIndex();
                        var axz
=cNode.getAttribute("checked");
                        
if(inde!=null && axz!=Pc)
                        {
                            cNode.setAttribute(
"checked"Pc);
                            t.queueEvent(
'oncheck'inde);
                            
if (parseInt(cNode.getChildren().length) != 0)
                                setcheck(cNode, Pc,t);
                        }
                    }
                }
            
        
</script>
//后台cs代码
private void Page_Load(object sender, System.EventArgs e)
        {
this.你所使用的树控件的名字.Attributes.Add("oncheck","tree_oncheck(this)");
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值