现在的位置: 首页 > 综合 > 正文

treeview 的使用心得

2017年07月26日 ⁄ 综合 ⁄ 共 2470字 ⁄ 字号 评论关闭

技巧一: 
可以设置在treeview的node上的点击事件,包括单击, 展开, 收缩, 双击, 右键单击等.采用的方法是通过服务器端注册客户端事件,代码如下: 
tvMenu.Attributes.Add("onselectedindexchange", "TVChangeIndex();"); 
这是服务器端注册部分, 添加到page_load事件中. 
以下为客户端代码: 
<script language="javascript"> 
    // 点击时激发的事件 
    function TVIndexChanged() 
    { 
      ChangeText( 'node changed' ); 
    } 
     
    // 执行函数  
   // 
    function ChangeText( eventName ) 
    { 
      var treeNode = GetSelectedNode(); 
          
      if ( null == treeNode || undefined == treeNode ) 
      { 
        return; 
      }     
          
      var nodeData = treeNode.getAttribute( 'nodeData' ).split( ';' );          
              
      var id = GetKeyValue( 'SomeId' ); 
      var name = GetKeyValue( 'Name' ); 
alert(name);                 
          }       
      
    // 取得树形控件, 
    // 
    function GetTreeHandle() 
    { 
      var tree; 
      var treeName = 'tvControl'; 
         
      // Get a handle to the TreeView. 
      tree = document.getElementById( treeName ); 
      
      if ( null == tree || undefined == tree ) 
        return null; 
        
      return tree; 
    }      
     
    // 取得选中的节点.  
    function GetSelectedNode() 
    { 
      var tree = GetTreeHandle(); 
      var treeNode; 
      
      if ( null == tree || undefined == tree ) 
        return null; 
      
      treeNode = tree.getTreeNode( tree.selectedNodeIndex );  
      
      if ( null == treeNode || undefined == treeNode ) 
        return null; 
      
      return treeNode; 
    }   
  </script> 
详细示例请见: http://www.codeproject.com/useritems/ClientSideTreeView.asp 

技巧二: 
给节点上添加tooltip,下面的代码是树形控件的页面代码, 

<myfirsttree:treeview runat="server" SHOWTOOLTIP="false"> 
  <myfirsttree:treenode text="My first Tree Root"> 
   <myfirsttree:treenode text="<b OnMouseOver=popup('This_is_a_normal_message@br@bThis_is_a_bold_message@@b@br@iThis_is_an_italic_message@@i') OnMouseOut=kill()>My first Tree Node</b>"></myfirsttree:treenode> 
   <myfirsttree:treenode text="<i OnMouseOver=popup('This_is_the_popup_message_of_the_second_TreeNode') OnMouseOut=kill()>My second Tree Node</i>"></myfirsttree:treenode> 
   <myfirsttree:treenode text="<u OnMouseOver=popup('This_is_the_popup_message_of_the_third_node@br@uAnd_this_is_an_underline_message@@u') OnMouseOut=kill()>My third Tree Node</u>"></myfirsttree:treenode> 
  </myfirsttree:treenode> 
 </myfirsttree:treeview> 
示例文件在此下载: http://www.cnblogs.com/Files/margiex/tv_tooltip.rar
需要安装有IE webcontrols,步骤:先建立一个web应用目录,解压文件到此目录中,然后再建立一个bin目录,拷贝microsoft.web.ui.controls.dll到bin目录下即可.

抱歉!评论已关闭.