现在数据在数据库里。只有有关字段fxNo(archar(50)),fxName,其中fxNO表示他的序号如:1, 2, 1.1, 1.1.1,1.2.1
通过这些序号把数据添加进treeview中去。谢谢了。

解决方案 »

  1.   

    直接循环一下你那表里的数据集。然后
    TreeNode MyNodes = new TreeNode();
    MyNodes.Text = 表里取出来的字段值;
    MyNodes.Value = 表里取出来的字段值;
    Tree1.Nodes.Add(MyNodes);
      

  2.   

    你想要加子节点也一样的。
    只要在你的根节点来增加子节点。
    TreeNode MyNodes = new TreeNode(); 
    MyNodes.Text = 表里取出来的字段值; 
    MyNodes.Value = 表里取出来的字段值; 
    Tree1.Nodes[0].ChildNodes.Add(MyNodes);
      

  3.   

    TreeNode node= new TreeNode();  
    MyNodes.Text = text;  
    MyNodes.Value = value;  
    Tree1.Nodes.Add(MyNodes);一般情况下数据库会增加一个字段来放目录层次
    判断一下,然后循环下上面方法就行了
      

  4.   

    我数据库里只有一个fxNo字段负责所有的路径。大家不要给我该数据库。
      

  5.   


    用递归方法        DataTable dtble = new DataTable();
            //将表 数据库里的数据取到 dtble;        private void button2_Click(object sender, EventArgs e)
            {
                TreeNode treeNode1 = new TreeNode("FisrtNode");
                treeView1.Nodes.Add(treeNode1);
                CrateTreeView1(treeNode1,1);
            }        private void CrateTreeView1(TreeNode tmnode, int Deep)
            {
                DataRow[] tmdr = dtble.Select("fxNO like '" + tmnode.Text.Trim() + ".%'");            foreach (DataRow dr in tmdr)
                {
                    string strtm = dr["fxNO"].ToString().Trim();
                    if (strtm.Split('.').Length == Deep)
                    {
                        TreeNode childnode = new TreeNode(strtm);
                        tmnode.Nodes.Add(childnode);                    CrateTreeView1(childnode,Deep+1);
                    }
                }
            }
      

  6.   

    更正一下!!!        DataTable dtble = new DataTable();
            //将表 数据库里的数据取到 dtble;
            private void button2_Click(object sender, EventArgs e)
            {
                TreeNode treeNode1 = new TreeNode("1");
                treeView1.Nodes.Add(treeNode1);
                CrateTreeView1(treeNode1,1);            TreeNode treeNode2 = new TreeNode("2");
                treeView1.Nodes.Add(treeNode2);
                CrateTreeView1(treeNode2, 1);
            }        private void CrateTreeView1(TreeNode tmnode, int Deep)
            {
                DataRow[] tmdr = dtble.Select("fxNO like '" + tmnode.Text.Trim() + ".%'");
                foreach (DataRow dr in tmdr )
                {
                    string strtm = dr["fxNO"].ToString().Trim();
                    if (strtm.Split('.').Length == Deep)
                    {
                        TreeNode childnode = new TreeNode(strtm);
                        tmnode.Nodes.Add(childnode);                    CrateTreeView1(childnode,Deep+1);
                    }
                }
            }
      

  7.   

    再试一下着个        DataSet dsdata = new DataSet();
            private void button3_Click(object sender, EventArgs e)
            {
                string con = "server=localhost;Integrated Security=SSPI;database=mydb";
                string sqlstr = "Select * from testFax ";
                SqlConnection connect = new SqlConnection(con);
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sqlstr;
                cmd.Connection = connect;
                SqlDataAdapter dap = new SqlDataAdapter();
                dap.SelectCommand = cmd;
                dap.Fill(dsdata);
                CreatTreeView2(1);
            }        private void CreatTreeView2(int deep)
            {
                foreach (DataRow dr in dsdata.Tables[0].Rows)
                {
                    string strfxno = dr["fxNo"].ToString().Trim();
                    if (strfxno.Split('.').Length == deep)
                    {
                        TreeNode tmnode = new TreeNode(dr["fxNo"].ToString().Trim());
                        this.treeView1.Nodes.Add(tmnode);
                        CreatTreeView1(tmnode, deep+1);
                    }
                }
            }        private void CreatTreeView1(TreeNode tmnode, int Deep)
            {
                string strfilter = "fxNO like '" + tmnode.Text.Trim() + ".%'";
                DataRow[] tmdr = dsdata.Tables[0].Select(strfilter);            foreach (DataRow dr in tmdr)
                {
                    string strtm = dr["fxNO"].ToString().Trim();
                    string[] strarr = strtm.Split('.');
                    if (strarr.Length == Deep)
                    {
                        TreeNode childnode = new TreeNode(strtm);
                        tmnode.Nodes.Add(childnode);                    CreatTreeView1(childnode, Deep + 1);
                    }
                }
            }