ddlCategory.DataSource = ds.Tables[0].DefaultView;
ddlCategory.DataTextField = ds.Tables[0].Columns[3].ToString();
ddlCategory.DataValueField = ds.Tables[0].Columns[1].ToString();
ddlCategory.DataBind(); TreeNode myTreeNode = new TreeNode();
myTreeNode.Text = ds.Tables[0].Columns[3].ToString();
myTreeNode.Expanded = true;
tvCategory.Nodes.Add(myTreeNode);

解决方案 »

  1.   

    TreeView 不是绑定的[除xml文件]
    动态生成TreeView
    DataSet ds=new DataSet(); 
            private void Form1_Load(object sender, System.EventArgs e) 
            { 
                // 定义数据库连接 
                SqlConnection CN = new SqlConnection(); 
                try  
                { 
                    //初始化连接字符串 
                    CN.ConnectionString=  
                    "data source=pmserver;initial catalog=Bench; 
                    persist security info=False;user id=sa;Password=sa;"; 
                    CN.Open(); 
                    //添加命令,从数据库中得到数据 
                    SqlCommand sqlCmd= new SqlCommand(); 
                    sqlCmd.Connection = CN; 
                    sqlCmd.CommandText = "select * from tbTree"; 
                    sqlCmd.CommandType = CommandType.Text ; 
                    SqlDataAdapter adp = new SqlDataAdapter(sqlCmd); 
                    adp.Fill(ds); 
                } 
                catch (Exception ex) 
                { 
                    throw (ex);    
                } 
                finally  
                { 
                    CN.Close(); 
                } 
                //调用递归函数,完成树形结构的生成 
                AddTree(0, (TreeNode)null); 
            } 
     
            // 递归添加树的节点 
            public void AddTree(int ParentID,TreeNode pNode)  
            { 
                DataView dvTree = new DataView(ds.Tables[0]); 
                //过滤ParentID,得到当前的所有子节点 
                dvTree.RowFilter =  "[PARENTID] = " + ParentID; 
                foreach(DataRowView Row in dvTree)  
                { 
                    if(pNode == null)  
                    {    //'̀添加根节点 
                        TreeNode Node = treeView1.Nodes.Add(Row["ConText"].ToString()); 
                        AddTree(Int32.Parse(Row["ID"].ToString()),Node);    //再次递归 
                    }  
                    else  
                    {   //添加当前节点的子节点 
                        TreeNode Node =  pNode.Nodes.Add(Row["ConText"].ToString()); 
                        AddTree(Int32.Parse(Row["ID"].ToString()),Node);    //再次递归 
                    } 
                }             
            }