c# treeview建立树数据库表是 tran学院   专业电信   通信
电信   多媒体
机电   模具
电信   嵌入式
机电   供热
建出来的树是电信
    通信
电信
    多媒体
机电
    模具
电信
    嵌入式
机电
    供热怎么让电信变成一个根节点,这些专业在电信根节点下啊! 机电也是一样代码如下:
            SqlConnection conn = new SqlConnection("server=lili;database=xlili;uid=sa;pwd=xiaoli");
            string collMcName = "select 学院 ,专业 from tran;
            SqlCommand cmd = new SqlCommand(collMcName, conn);
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
                             treeView1.BeginUpdate();
                while (dr.Read())
                {
                  
                    TreeNode tn = new TreeNode((string)dr["sort"]);         
                    tn.Nodes.Add((string)dr["地址"]);              
                    treeView1.Nodes.Add(tn);
                }
                treeView1.EndUpdate();
小弟新人求各位高手帮帮忙!
这种方法是不是不行啊?不行的话应该怎么写?(最好有解释,新手)多谢!多谢!

解决方案 »

  1.   

    不懂,这个简单的就可以了http://blog.csdn.net/xianfajushi/article/details/7745501
      

  2.   

    如果只是两层的话(三层以上用递归)
    在SQL语句中要以 学院,专业  排序
    string strXY;
    TreeNode rXY;
    while (dr.Read())
    {
       string str=dr["学院"].tostring(); 
       if(string.IsNullOrEmpty(strXY)||str!=strXY)
       {
          rXY = new TreeNode(str);
          treeView1.Nodes.Add(tn);   
          strXY=str;
       }
       rXY.Nodes.Add((string)dr["专业"]); 
    }
      

  3.   

    SqlConnection conn = new SqlConnection("server=lili;database=xlili;uid=sa;pwd=xiaoli");
       string collMcName = "select 学院 ,专业 from tran;
       SqlCommand cmd = new SqlCommand(collMcName, conn);
       conn.Open();
       SqlDataReader dr = cmd.ExecuteReader();
           treeView1.BeginUpdate();
       while (dr.Read())
       {
         
      TreeNode tn = new TreeNode((string)dr["学院"]);   
      tn.Nodes.Add((string)dr["专业"]);   
      treeView1.Nodes.Add(tn);
       }
       treeView1.EndUpdate();就两层,数据库里东西最好不动!楼上的试了,总运行不了有错误!