数据库
id  name  pid
1   生物   0
2   动物   1
3   植物   1
4   狗     2
5   猫     2怎么在select控件下 点击生物出现动物 植物 一级显示  点击动物的时候出现狗 猫

解决方案 »

  1.   

    用treeview到是可以 ,直接递归取,
      

  2.   

    楼主可以在数据库做成三张表呢
    第一张表为总类的  生物 做上标记
    第二张表为分类的  动物 植物 做上标记
    第三张表为分类的具体内容,不过要带上第二张表上的标记
    每次选择都是通过数据库中的标记带出下一级的内容就是楼主将内容放在一张表中,也是要根据pid来作为条件选择出内容
    若将这些内容放在一张表中,设计上不合理吧,表内容很乱,以后,也不好管理。
      

  3.   

    代码这么就取了。
    #region 邦定数据
        private void BindTree()
        {
            this.TvwCatalog.Nodes.Clear();
            TreeNode nodeCatalog = new TreeNode();
            nodeCatalog.Text = "所有";
            nodeCatalog.Expanded = true;
            nodeCatalog.Target = "DetailFrame";
            nodeCatalog.NavigateUrl = "AreaList.aspx?AreaID=0";
            this.TvwCatalog.Nodes.Add(nodeCatalog);
            DataSet ds = Business.Public.Public.DisplayData("", "", "basDeptGet");
            this.ViewState["ds"] = ds;
            AddTree("", nodeCatalog);
        }    
        public void AddTree(string ParentNO, TreeNode pNode)
        {
            DataSet ds = (DataSet)this.ViewState["ds"];
            DataView dvTree = new DataView(ds.Tables[0]);
            //过滤ParentNO,得到当前的所有子节点
            dvTree.RowFilter = "ParentNo ='"+ParentNO+"'";        foreach (DataRowView Row in dvTree)
            {
                TreeNode Node1 = new TreeNode();
                if (pNode == null)
                {    //添加根节点
                    Node1.Text = Row["DeptName"].ToString();
                    TvwCatalog.Nodes.Add(Node1);
                    Node1.Expanded = true;
                    Node1.NavigateUrl = "#";
                    AddTree(Row["DeptNo"].ToString(), Node1);    //再次递归
                }
                else
                {   //̀添加当前节点的子节点
                    Node1.Text = Row["DeptName"].ToString();
                    pNode.ChildNodes.Add(Node1);
                    Node1.Expanded = true;
                    Node1.NavigateUrl = "#";
                    AddTree(Row["DeptNo"].ToString(), Node1);     //再次递归
                }
            }
        }             #endregion 
      

  4.   

    http://topic.csdn.net/u/20110704/18/2cea2a16-8349-4a11-8fe3-50af5cbad590.html这个帖子楼主的问题和你的极其相似,而且他要求用TreeView实现,也就是需要递归无限多层,你这个问题看样子只能是有限多层如果楼主问的是DropDownList控件,那就为上一级的DropDownList控件SelectedIndexChanged 事件添加代码,调用下一级的ClearSelection() 和Add() 方法