Public ds As New DataSet()
这样声明在Page_Load里面,然后,把ds作为参数传进CreateDataSet()和InitTree这两个函数里试试

解决方案 »

  1.   

    兄弟  现在 多学点 我以后跟你学啊
    ——————————@_@————————
                   good  good   study  
                   day    day     up 
    __________________^@^_________________
      

  2.   

    我声明在CLASS里面,还是没有效果,连错误都不提示
      

  3.   

    see
    http://www.chinabs.net/aspnet/default.asp?infoid=106
      

  4.   


    InitTree(TreeView1.Nodes, 999)你是否有999这个ID的节点?
      

  5.   

    iewebcontrol环境是否有错误?有时候,iewebcontrol时好时坏。看看iewebcontrol的自带离子是否能正常现实treeview。我就遇到过此事,总以为自己的代码有问题,结果是iewebcontrol环境出错了——很容易出错。
      

  6.   

    InitTree(TreeView1.Nodes, 999)是否有999这个节点ID?
      

  7.   

    以下是测试通过的
    你的Page里要定义autoeventWireup="false", 不难你的DataSet会执行好几次Fill
    InitTree(TreeView1.Nodes, 0) 你要保证0是根节点
    <%@Page Language="VB" Debug="true" autoeventWireup="false" %>
    <%@Import Namespace="System.Data"%>
    <%@Import Namespace="System.Data.SqlClient"%>
    <%@Register Tagprefix="ie" namespace="Microsoft.Web.Ui.Webcontrols" Assembly="Microsoft.Web.Ui.webcontrols"%>
    <html>
    <head>
    <script language="vb" runat=server>
        Public ds As New DataSet()
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            If Not IsPostBack Then
                CreateDataSet()
                InitTree(TreeView1.Nodes, 0)
            End If
        End Sub
        Private Sub CreateDataSet()
    'Dim ds As new DataSet 
            Dim str As String = "server=pany;database=pany;uid=sa;pwd=123"
            Dim myconn As New SqlConnection(str)
            Dim myDataAdapter As New SqlDataAdapter("SELECT * FROM TREE", myConn)
            myDataAdapter.Fill(ds, "tree")
        End Sub
        Private Sub InitTree(Nds As TreeNodeCollection, parentId As Integer)
            Dim dv As New DataView()
            Dim drv As DataRowView
            Dim tmpNd As TreeNode
            Dim i As Integer
            dv.Table = ds.Tables("tree")
            dv.RowFilter = "Father_Id='" & parentId & "'"
            For Each drv In dv
                tmpNd = New TreeNode()
                tmpNd.ID = drv("child_id")
                tmpNd.Text = drv("name")
                tmpNd.NavigateUrl = drv("url")
        tmpNd.Target = "_blank"
                i = drv("father_id")
                Nds.Add(tmpNd)
        parentId = drv("father_id")
                InitTree(Nds(Nds.Count - 1).Nodes, tmpNd.ID)
            Next
        End Sub
    </script>
    </head>
    <body>
    <form id=form1 runat=server>
    <ie:TreeView ID="TreeView1" runat="server" />
    </form>
      

  8.   

    Private Sub InitTree(Nds As TreeNodeCollection, parentId As Integer)
    这个函数定义也不会ByRef , ByVal
      

  9.   

    child_id father_id  name count url
    10 0 微软网站 1 http://www.microsoft.com
    20 0 新浪 1 http://www.sina.com.cn
    30 0 163网易 1 http://www.163.com
    1010 10 校友录 1 http://www.chinaren.com
    1020 10 GOOGLE 2 http://www.google.com
    2010 20 CSDN 1 http://www.csdn.net
    102010 1020 我的主页 1 http://pany.533.net
      

  10.   

    把child_id改成id就不会昏了, ...字段名取得不好