to:adminyao(程序傻子) 
   我还没写代码,光把树画出来,想先做一颗静态树,实现基本功能再扩展,可是找不到单击事件,SelectedIndexChange事件也不好用,只好到网上求助

解决方案 »

  1.   

    在nodes集合里,node不是有NavigateUrl的属性吗,设置NavigateUrl="YouUrl.aspx"
    Target属性为ifalme的id
    控件autopostback设为true
      

  2.   

    给你段代码
    'treeview中数据的动态绑定
        Sub inttree(ByRef nds As TreeNodeCollection, ByVal parentid As Integer)
            Dim conn As New SqlConnection(connstr.sqlconnectionstr)
            Dim sqlstr As String = "select * from tree "
            Dim da As New SqlDataAdapter(sqlstr, conn)
            Dim ds As New DataSet()
            conn.Open()
            da.Fill(ds, "tree")
            Dim dv As New DataView()
            Dim dvrow As DataRowView
            Dim tmpnode As TreeNode
            Dim intid As Integer
            dv.Table = ds.Tables("tree")
            dv.RowFilter = "parentid='" & parentid & "'"
            For Each dvrow In dv
                tmpnode = New TreeNode()
                tmpnode.ID = dvrow("nodeid")
                tmpnode.Text = dvrow("nodename")
                intid = dvrow("nodeid")
                inttree(tmpnode.Nodes, intid)
                '二级目录自动展开
                If tmpnode.ID = 1 Then
                    tmpnode.Expanded = True
                End If
                '单击打开年级信息
                If Not (tmpnode.Nodes.Count = 0) Then
                    tmpnode.NavigateUrl = "student.aspx?gradeid=" & dvrow("nodeid")
                    tmpnode.Target = "main"
                Else
                    '单击打开班级信息
                    tmpnode.NavigateUrl = "student.aspx?classid=" & dvrow("nodeid")
                    tmpnode.Target = "main"            End If            nds.Add(tmpnode)        Next
            conn.Close()    End Sub
      

  3.   

    我是想实现一个NodeClick事件,在该事件里实现上述功能,但是现在无从写起,有全一点的代码给参考一下吗?
    谢谢
      

  4.   

    给你段代码
    'treeview中数据的动态绑定
        Sub inttree(ByRef nds As TreeNodeCollection, ByVal parentid As Integer)
            Dim conn As New SqlConnection(connstr.sqlconnectionstr)
            Dim sqlstr As String = "select * from tree "
            Dim da As New SqlDataAdapter(sqlstr, conn)
            Dim ds As New DataSet()
            conn.Open()
            da.Fill(ds, "tree")
            Dim dv As New DataView()
            Dim dvrow As DataRowView
            Dim tmpnode As TreeNode
            Dim intid As Integer
            dv.Table = ds.Tables("tree")
            dv.RowFilter = "parentid='" & parentid & "'"
            For Each dvrow In dv
                tmpnode = New TreeNode()
                tmpnode.ID = dvrow("nodeid")
                tmpnode.Text = dvrow("nodename")
                intid = dvrow("nodeid")
                inttree(tmpnode.Nodes, intid)
                '二级目录自动展开
                If tmpnode.ID = 1 Then
                    tmpnode.Expanded = True
                End If
                '单击打开年级信息
                If Not (tmpnode.Nodes.Count = 0) Then
                    tmpnode.NavigateUrl = "student.aspx?gradeid=" & dvrow("nodeid")
                    tmpnode.Target = "main"
                Else
                    '单击打开班级信息
                    tmpnode.NavigateUrl = "student.aspx?classid=" & dvrow("nodeid")
                    tmpnode.Target = "main"            End If            nds.Add(tmpnode)        Next
            conn.Close()    End Sub
      

  5.   

    to: icecock(icecock)
    谢谢
    我好像明白了点什么,要是用c#写就更好了怎样实现NodeClick事件呢?在什么地方实现,可以说说吗?
      

  6.   

    不会是vb.net已经封装了NodeClick事件,而c#没有封装吧
      

  7.   

    to :wangxy0919在nodes集合里,node不是有NavigateUrl的属性吗,设置NavigateUrl="YouUrl.aspx"
    Target属性为ifalme的id
    控件autopostback设为true我照做了 ifalme的id 为main ,可是单击时web页并没有显示在iframe中,而是新打开一个web页,还有ifalme是不是要改成iframe