是treeview吗
比较常用的就3个:selectindexchange 选择行改变,check 节点选中,expand 节点展开

解决方案 »

  1.   

    常用的几个属性和方法
    ~Index 获取树节点在树节点集合中的位置。
    ~Nodes 获取分配给树视图控件的树节点集合。
    ~Parent  获取或设置控件的父容器。
    ~SelectedNode 获取或设置当前在树视图控件中选定的树节点。
    ~ExpandAll 展开所有树节点。
    ~Checked 获取或设置一个值,用以指示树节点是否处于选中状态。
    ~Text 获取或设置在树节点标签中显示的文本。
    ~Expand 展开树节点。
    ~Clear 清空树
    ~Remove 从树视图控件中移除当前树节点。
    以上由其他网友总结,补充:
    ~Height 控件的高度
    ~Width 控件的宽度
    ~BackColor 背景颜色
    ~BorderColor 边框颜色
    ~BorderStyle 边框样式
    ~BorderWidth 边框宽度
    ~CssClass 应用于该控件的CSS类名
    ~ExpandedImageUrl 展开时显示的节点图标
    ~ImageUrl 未选择或展开是显示的节点图标
    ~SelectedImageUrl 选中状态下显示的节点图标
    ~Indent 缩进距离,只有在ShowLines设为TRUE时才生效。
    ~ShowLines 是否显示层级连接线
    ~ShowPlus 是否显示+/-符号按钮
    ~ShowToolTip 在有父节点上显示工具提示(+/-号的使用展开/关闭)。
    ~AccseeKey 控件使用的键盘快捷键
    ~AutoSelect 为TRUE时,当用键盘移动节点时,自动选择新节点
    ~AutoPostBack 当改变状态时,自动回存
    ~Enabled 控制控件的启用状态
    ~EnableViewState 控件是否自动保存其状态以用于往返行程
    ~ExpandLevel 初始化控件是展开节点的层数
    ~SelectExpands 当选中一个接点时,是否自动展开该节点
    ~TabIndex TAB键次序
    ~Visible 控件是否可见3.实用技巧:
    1)怎样点击文字(不是+/-号)即可展开(收缩)子节点
    将TREE的ShowToolTip 属性设为false即可。2)当鼠标指到某父接点时,如何不显示显示“节点名:user +/- to expand/collapse”
    将TREE的SelectExpands 属性设为TRUE即可。3)不显示树型的问题
    首先:控件包没装好,使用上边介绍的控件包装一下试试。
    其次:TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.04)关于闪烁
    将AutoPostBack属性设置为真,SelectedIndexChange才能被执行。不过这样的话刷新的很厉害。不要刷新的话,将AutoPostBack属性设置为FALSE.5)如何实现用键盘上下左右键移动焦点时,自动选择新节点并执行新节点  
    将TREE的AutoSelect 属性设为TRUE即可。6)不想显示+/-符号按钮怎么做?
    将TREE的ShowPlus 属性设为False即可。7)不想显示层级连接线怎么做?
    将TREE的ShowLines 属性设为False即可。
      

  2.   

    AutoPostBack为真的情况下,才能回发,这是TreeView的事件才会被触发,但这种情况下页面很闪,所以一般设置为false,用JavaScript写比较好
      

  3.   

    ///////偶从别的地方当来的,偶是倒爷
    树控件使用小结  
    1.使用初步(1)下载地址
    http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/ASP_DOT_NET_ServerControls/WebControls/default.asp(2)不显示树型的问题
    首先:下载包分自动安装和手动安装两种包。
    要下载大小约650K 的自动安装包。
    其次:TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.0(3)关于闪烁
    将AutoPostBack属性设置为真,SelectedIndexChange才能被执行。不过这样的话刷新的很厉害。不要刷新的话,将AutoPostBack属性设置为FALSE.    (4)常用的几个属性和方法
    ~Index 获取树节点在树节点集合中的位置。
    ~Nodes 获取分配给树视图控件的树节点集合。
    ~Parent  获取或设置控件的父容器。
    ~SelectedNode 获取或设置当前在树视图控件中选定的树节点。
    ~ExpandAll 展开所有树节点。
    ~Checked 获取或设置一个值,用以指示树节点是否处于选中状态。
    ~Text 获取或设置在树节点标签中显示的文本。
    ~Expand 展开树节点。
    ~Clear 清空树
    ~Remove 从树视图控件中移除当前树节点。(5)常用的几个操作:增加、删除、修改、剪切@增加节点:
            Dim tmpNd3 As New Microsoft.Web.UI.WebControls.TreeNode()
            Dim NdSel As New Microsoft.Web.UI.WebControls.TreeNode()
            'NdSel 为当前选定的节点,新节点将作为它的子节点 
            NdSel = Treepaybasic.GetNodeFromIndex(Treepaybasic.SelectedNodeIndex)
            tmpNd3.Text = "新增节点"
            '在树中添加这个新节点
            NdSel.Nodes.Add(tmpNd3)
    @删除节点:
            Dim tmpNd3 As New Microsoft.Web.UI.WebControls.TreeNode()
            Dim NdSel As New Microsoft.Web.UI.WebControls.TreeNode()
            'NdSel 为当前选定的要删除节点,tmpNd3为它的父节点 
            NdSel = Treepaybasic.GetNodeFromIndex(Treepaybasic.SelectedNodeIndex)
            If (Treepaybasic.SelectedNodeIndex <> "0") Then
                tmpNd3 = NdSel.Parent
                tmpNd3.Nodes.Remove(NdSel)
            Else
                Treepaybasic.Nodes.Clear()
            End If
    @修改节点:
            Dim NdSel As New Microsoft.Web.UI.WebControls.TreeNode()
            NdSel = Treepaybasic.GetNodeFromIndex(Treepaybasic.SelectedNodeIndex)
            NdSel.Text = "aaa"
    @剪切和粘贴
     
    剪切:
            Dim tmpNd3 As New Microsoft.Web.UI.WebControls.TreeNode()
            Dim NdSel As New Microsoft.Web.UI.WebControls.TreeNode()
            'NdSel 为当前选定的要删除节点,tmpNd3为它的父节点 
            NdSel = Treepaybasic.GetNodeFromIndex(Treepaybasic.SelectedNodeIndex)
            '将剪切下来的节点存入session
            Session("node") = NdSel
            If (Treepaybasic.SelectedNodeIndex <> "0") Then
                tmpNd3 = NdSel.Parent
                tmpNd3.Nodes.Remove(NdSel)
            End If
    粘贴:
                Dim tmpNd3 As New Microsoft.Web.UI.WebControls.TreeNode()
            Dim NdSel As New Microsoft.Web.UI.WebControls.TreeNode()
            'NdSel 为当前要粘贴节点的父节点 
            NdSel = Treepaybasic.GetNodeFromIndex(Treepaybasic.SelectedNodeIndex)
            tmpNd3 = Session("node")
            NdSel.Nodes.Add(tmpNd3)
    2.用递归生成树的算法和数据库设计
    (1)递归说明
      程序调用自身的编程方法称为递归(recursion)。在树的生成以及图的遍历中,递归用的很多。经典的算法求 n! (求n的阶乘)中,用的就是递归方法。递归算法的优点就是简洁,可扩充性好。但是缺点也很明显:低效。因为递归就是程序不断调用自身,对系统的资源消耗比较大。随着节点的增多,执行效率会变的很低。 
      为了解决树在生成过程中的层树不定的问题,同时也是为了让树的扩展性更好。树的生成使用了递归的方法。生成树的代码一旦写成,可以不改动源代码,生成无限级层次的树。树的结构完全由数据库中表的数据决定。
    (2)数据库设计
      创建一个数据库,设计树图信息表Treetable,表中属性包含Nodeid、Parentid、Nodename、Address等字段(分别用于表示节点的ID、父节点ID、节点名称、链接地址),其它属性根据实际用户需求和设计而定。节点名称Nodename将在树型控件的节点上显示,Nodeid字段保存节点的唯一标识号,Parentid表示当前节点的父节点ID号(例如有两个节点是父子关系,孩子节点的Parentid值就是其父节点的Nodeid),节点号父子相接组成了一个“链表”,表征并记录了树上节点的层次结构。
    表具体设计如下:(简化模型,实际使用的要复杂一些)主键 属性名 类型 长度 可空 属性含义
    是 Nodeid int 6 否 节点ID
     Parentid int 6 否 父节点ID
     Nodename char 50 否 节点名称
     Address char 80 可 链接地址备注:链接地址 主要是用在: 树在框架中使用的环境。链接可以指向其他框架页中的地址或是带不同的参数。
      

  4.   

    vs.net的msdn里有详细的解释
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemWindowsFormsTreeViewMembersTopic.htm
      

  5.   

    谢谢你们,我想了解的是关于treeview的事件以及在什么情况下触发,最好能有例子,再次感谢