日期:2014-05-18  浏览次数:20395 次

关于TREEVIEW动态读取数据库的问题
小弟从CSDN上找到这些代码,但还是无法使用,有部分地方报错,请教各位高手!希望各位可以帮助小弟,谢谢大家

DataSet   ds   =   new   DataSet();//数据在内存的缓存
        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                SqlConnection   conn   =   new   SqlConnection(ConfigurationManager.ConnectionStrings[ "NewsConnectionString "].ConnectionString);
                try
                {
                        string   strsql   =   "select   *   from   tbtree ";
                        conn.Open();
                        SqlCommand   sqlcomm   =   new   SqlCommand(strsql,   conn);
                        sqlcomm.CommandType   =   CommandType.Text;
                        SqlDataAdapter   sda   =   new   SqlDataAdapter(sqlcomm);
                        sda.Fill(ds);
                }
                finally
                {
                        conn.Close();
                }
                //调用递归函数,完成树形结构的生成
                AddTree(0,   (TreeNode)null);
        }


        //递归添加树的节点
        public   void   AddTree(int   iparentId,   TreeNode   pNode)
        {

                DataView   dvtree   =   new   DataView(ds.Tables[0]);//表的集合从0开始索引
                dvtree.RowFilter   =   "parentId= "   +   iparentId;//获取dataview中表的数据,得到当前的所有子节点
                //定位数组中的每个元素                
                foreach   (DataRowView   Row   in   dvtree)//datarowview自定义视图
                {
                        if   (pNode   ==   null)
                        {
                                //̀添加根节点
                                TreeNode   node   =   TreeView1.Nodes.Add(Row[ "context "].ToString());