想设计动态生成TreeView1的导航栏,与数据库连接,还想请大家说的详细点,谢谢了,

解决方案 »

  1.   

    我做个了哥论坛,就两级,实现起来很简单。无限极分类的咱不会:
     protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection SqlCon = DB.getSqlCon();
            SqlCommand cmdbig = new SqlCommand("select BigClassID,BigClassName from BigClass", SqlCon);
            SqlDataAdapter sda = new SqlDataAdapter(cmdbig);
            DataSet ds = new DataSet();
            sda.Fill(ds, "BigClass");        SqlCommand cmdsmall = new SqlCommand("select BigClassID,SmallClassID,SmallClassName from SmallClass", SqlCon);
            sda.SelectCommand = cmdsmall;       
            sda.Fill(ds, "SmallClass");        DataRelation drl = new DataRelation ("bigsmall",ds.Tables["BigClass"].Columns["BigClassID"],ds.Tables["SmallClass"].Columns["BigClassID"]);
            ds.Relations.Add(drl);
            SqlCon.Close();
            InitTree(ds);
        }
        protected void InitTree( DataSet ds)
        {
            this.TreeView.Nodes.Clear();
            foreach (DataRow drBig in ds.Tables["BigClass"].Rows)
            {
                TreeNode RootNode = new TreeNode(drBig["BigClassName"].ToString(),drBig["BigClassID"].ToString());
                RootNode.Value = drBig["BigClassID"].ToString();
                RootNode.Expanded = true;
                RootNode.NavigateUrl = "~/ClassList.aspx?BigClassID=" + RootNode.Value;
                RootNode.Target = "myframe";
             
                this.TreeView.Nodes.Add(RootNode);
                foreach (DataRow drSmall in drBig.GetChildRows("bigsmall"))
                {
                    TreeNode SubNode = new TreeNode(drSmall["SmallClassName"].ToString(), drSmall["SmallClassID"].ToString());
                    SubNode.Value = drSmall["SmallClassID"].ToString();
                    SubNode.Expanded = true;                SubNode.NavigateUrl = "~/CardList.aspx?SmallClassID=" + SubNode.Value;
                    SubNode.Target = "myframe";
                    
                    RootNode.ChildNodes.Add(SubNode);
                }       
     
            }       
         }
      

  2.   

    设置一个表  
    FatherNodeID:父节点ID(根结点先制定或者制定一个不存在的)
    NodeName:节点的名字
    NodeData:节点中保存的数据
    NodeID:节点的ID
    然后把你要绑定的数据文件绑到这个数据表 
    然后写2个方法递归调用