本帖最后由 dongxiao0517 于 2011-08-22 10:39:18 编辑

解决方案 »

  1.   

    貌似在数据库中设置一个id和一个parentid的用的比较多
      

  2.   


    class getdata
        {
    public OleDbConnection conn = MYconnection();        public static OleDbConnection MYconnection()
            {
    ("server=127.0.0.1;database=SHLFSO;uid=sa;pwd=sa");//连接sqlserver
                return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"\\192.168.1.11\\共享文档\\data.mdb" + ";Jet OLEDB:Engine Type=5"); //连接局域网access
            }//使用   private void dataview(){
                 conn.open();
                 OleDbDataAdapter sda = new OleDbDataAdapter("select * from FunType", conn);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                datagridview1.DataSource = ds.Tables[0];
                ds.Dispose();
                sda.Dispose();
                conn.Close();
                ds = null;
                sda = null;}   private void bindTreeView4()
            {
                string sql = "select * from test";
                DataTable dt = db.ExecuteDataTable(sql, CommandType.Text, null);
                DataRow[] dr = dt.Select("levers='1'");
                for (int i = 0; i < dr.Length; i++)
                {   
                    TreeNode tn = new TreeNode();
                    tn.Text = dr[i]["name"].ToString();
                    tn.Name = dr[i]["levers"].ToString();
                    tn.Tag = dr[i]["leverid"].ToString();
                    if (dr[i]["levers"].ToString() == "1")
                    {
                        FillTree4(tn, dt);
                    }
                    treeView1.Nodes.Add(tn);
                }           
            }        private void FillTree4(TreeNode node, DataTable dt)
            {
                int levers = int.Parse(node.Name)+1;
                string sql = "leverid like '%" + node.Tag.ToString() + "%' and levers="+levers+"";
                DataRow[] dd = dt.Select(sql);
                if (dd.Length >0)
                {
                    for (int i = 0; i < dd.Length; i++)
                    {
                        TreeNode tn = new TreeNode();                      
                            tn.Text = dd[i]["name"].ToString();
                            tn.Name = dd[i]["levers"].ToString();
                            tn.Tag = dd[i]["leverid"].ToString();
                            if (dd[i]["levers"].ToString() == levers+"")
                            {
                                FillTree4(tn, dt);
                            }
                            node.Nodes.Add(tn);                   
                    }
                }
            }
    仅供参考