用代码在treeview web控件中,添加node的方法表字段:编号,父编号,名称
数据:
1   0   中华人民共和国
2   1   湖南
3   1   湖北        void  creattree(string  text,TreeNode tnd,string  pid)
        {            TreeNode  t2=new  TreeNode();
            t2.Text=text;            tnd.Nodes.Add(t2);生成
            string str1 ="父编号 = '"+pid+"'";
            DataRow[] dryl = dataSet31.Tables [0].Select(str1);            for(int  i=0;i<=dryl.GetUpperBound(0);i++)
            {creattree(dryl[i][2].ToString(),t2,dryl[i][0].ToString());
            }
        }
//
            TreeNode  t1=new  TreeNode();
            t1.Text="地区信息";
            TreeView2.Nodes.Add(t1);            creattree("中华人民共和国",t1,"1");

解决方案 »

  1.   

    数据库结构如下:
    表名:Table1
    ParentID varchar 20:父节点
    ID varchar 20:节点
    Name varchar 50:名称来来来,这里给你个例程,再给个我的网页上的TreeViwe看看,一万个子节点都没问题

    http://dev1.eraserver.net/czc888/webform1.aspx
    至于那三个图象的意义你看我的网页就知道了。分别表示一页纸(没有子节点)、一本
    关闭的书(有子节点),一本打开的书(当前节点被展开)        void  creat_node(string
    name,Microsoft.Web.UI.WebControls.TreeNode  t1,string  number)
            {
                //定义一个新的结点            Microsoft.Web.UI.WebControls.TreeNode  t2=new
    Microsoft.Web.UI.WebControls.TreeNode();
                t2.ID=number;
                t2.Text=name;
                //判断是否为根结点
                TreeView1.ExpandedImageUrl="images/Depart03.bmp";
                if(t1.ID.Trim()=="###")
                {
                    TreeView1.Nodes.Add(t2);
                    t2.ImageUrl="images/Depart01.bmp";
                }
                else
                {
                    t1.Nodes.Add(t2);
                       t2.ImageUrl="images/Depart01.bmp";
                    t1.ImageUrl="images/Depart02.bmp";
                }
                //取得这个结点的所有子结点,利用递归自动生成
                string mySelectQuery = "SELECT ParentID, ID,Name FROM table1
    where  ParentID='" + number +"'";
                string MyConnString="provider=Microsoft.Jet.OLEDB.4.0;Data
    Source="+Server.MapPath(".")+"/dt/mydata.mdb";
                OleDbConnection myConnection = new
    OleDbConnection(MyConnString);
                OleDbCommand myCommand = new
    OleDbCommand(mySelectQuery,myConnection);
                myConnection.Open();
                OleDbDataReader myReader;
                myReader = myCommand.ExecuteReader();
                while (myReader.Read())
                {
                    creat_node(myReader.GetString(2),t2,myReader.GetString(1));            }
                myReader.Close();
                myConnection.Close();        }    private void CreateProviderTreeBtn_Click(object sender,
    System.EventArgs e)
            {
                Microsoft.Web.UI.WebControls.TreeNode  t1=new
    Microsoft.Web.UI.WebControls.TreeNode();
                creat_node("",t1,"###");