C# 如何把控件 treeView1的值 copy一份给 treeView1?要值传递

解决方案 »

  1.   

    什么意思?将TreeView1的里面的内容付给TreeView2吗?也就是两个都是相同的数据源啊,那就把TreeView1的数据源付给TreeView2就可以了啊
      

  2.   

      treeView2.Nodes.Add(treeView1.Nodes.ToString());
    这样吗
      

  3.   

    我需要得到两个TreeView类型的行政区划代码树,现在已经从数据库生成一个TreeView1(籍贯代码树)还需要一个TreeView2(出生地代码树)。
    由于从数据生成需要三重循环速度比较慢,所以我想直接把TreeView1的值copy一份给TreeView2.
      

  4.   

    不行啊,出来的树显示System.*.Collection
      

  5.   

    一个一个付值过去吧
    做个循环 
    FOREACH下 
      

  6.   

    这个事我treeView1树,具体foreach怎么写?我刚开始学习c#对treeView这个控件ApI掌握不是很好。
     private void showRegionTree()
            {
                OleDbConnection oleCon = getConnection();
                oleCon.Open();
                OleDbCommand oleCom = new OleDbCommand("select * from regionCode where CodeID=Parent", oleCon);
                OleDbDataReader dr = oleCom.ExecuteReader();
                while (dr.Read())
                {
                    OleDbCommand oleCom1 = new OleDbCommand("select * from regionCode where CodeID <> Parent  and Parent='" + dr[1].ToString() + "'", oleCon);                OleDbDataReader dr1 = oleCom1.ExecuteReader();
                    TreeNode newNode1 = treeView1.Nodes.Add(dr[1].ToString(), dr[2].ToString());
                    while (dr1.Read())
                    {
                        TreeNode newNode2 = newNode1.Nodes.Add(dr1[1].ToString(), dr1[2].ToString());
                        OleDbCommand oleCom2 = new OleDbCommand("select * from regionCode where CodeID = Child and Parent='" + dr1[1].ToString() + "'", oleCon);
                        OleDbDataReader dr2 = oleCom2.ExecuteReader();
                        while (dr2.Read())
                        {
                            newNode2.Nodes.Add(dr2[1].ToString(), dr2[2].ToString());
                        }
                        dr2.Close();                }
                    dr1.Close();
                }
                dr.Close();
                treeView1.CollapseAll();
                oleCon.Close();
                
            }