现在是这样的,我有两个表:
部门表dept
deptid    deptdesc
  1       财务处
  2       网络中心
 ...       ....
 
员工表emp
empid    empdesc   emp_dept_id
  1       张三          1
  2       李林          2
  3       张科          2
 ...      ....         ...TreeView中要显示成如下:
┏━━━财务处
  ┣━━━张三
 ┣━━━....
┣━━━网络中心
 ┣━━━李林
 ┣━━━张科
 ┣━━━...我是刚开始做.NET,以前也没有做过ASP,关于怎样绑定数据库这些都不太清楚
论坛中我也搜索了,不过我这个问题可能比较容易,也没有找到。
各位英雄请多帮忙

解决方案 »

  1.   

    数据库:
    create table dept(deptid int,deptdesc nvarchar(100))
    create table emp(empid int,empdesc nvarchar(100),emp_dept_id int)insert into dept
    select 1,'财务处'
    union all
    select 2,'网络中心'insert into emp
    select 1,'张三',1
    union all
    select 2,'李林',2
    union all
    select 3,'张科',2代码:
     private void loadTree()
        {
            SqlConnection conn = new SqlConnection("Server=192.168.0.101;uid=sa;pwd=yanfa;database=yygy");
            SqlCommand cmd = new SqlCommand("select * from dept", conn);
            conn.Open();
            SqlDataReader read = cmd.ExecuteReader();        while (read.Read())
            {
                TreeNode node = new TreeNode();
                node.Text = read["deptdesc"].ToString();
                this.TreeView1.Nodes.Add(node);
              
            }
            read.Close();        SqlCommand cmd2 = new SqlCommand();
            cmd2.Connection = conn;        
            int k = this.TreeView1.Nodes.Count;
            for(int i=0;i<k;i++)
            {
                cmd2.CommandText = "select * from emp join dept on emp.emp_dept_id = dept.deptid where dept.deptdesc = " + "'" + this.TreeView1.Nodes[i].Text.Trim() + "'";
                
                SqlDataReader readChild = cmd2.ExecuteReader();
               
                while(readChild.Read())
                {
                TreeNode node = new TreeNode();
                node.Text = readChild["empdesc"].ToString();            this.TreeView1.Nodes[i].ChildNodes.Add(node);
                }
                readChild.Close();        }经测试,以上代码可以达到楼主的要求.
      

  2.   

    在pageload事件里加入:if (!IsPostBack)
            {
                loadTree();
            }
    即可.
      

  3.   

    如果部门数的员工数太多的话,用treeView就不适合啦~~
      

  4.   

    那请问一下,有没有,点击treeview 节点,就搜索表,动态生成子节点的事件.能不能把代码说清楚一下,谢谢!
      

  5.   

    那请问 "yygyogfny(火鸟)" 应该采取什么方式比较好,我现在很需要这个代码,希望你能帮帮我,
      

  6.   

    一般一说,用这种方法就可以解决问题了,一般treeView也不可能放太多的东西,因为会找不到里面的项.一般四五十项就够了,太多了,在TREE里就不好找了,也不好显示.
      

  7.   

    点击TREEVIEW ,获得TREEVIEW NODE 的绑定的TAG值,
    得到该deptid 下的所有empid ,最后直接ADD NODE ,代码我都懒的写了,很简单,琢磨一下就出来,今天做项目才写了。