首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

有个递归加载树有关问题求解

2012-08-09 
有个递归加载树问题求解数据结构如下:,第一次就把所有数据全查出来,后面递归的时候从datatable中取数据,效

有个递归加载树问题求解
数据结构如下:,第一次就把所有数据全查出来,后面递归的时候从datatable中取数据,效果应该大致如下,只是这里没有把用户管理的子节点加载进来.我试了很久,还是没成功,求解

[解决办法]

C# code
     private void bindTreeView1()        {            string sql = "select * from TableName";            DataTable dt = db.ExecuteDataTable(sql, CommandType.Text, null);            DataRow[] dr = dt.Select("last_parent=0");            for (int i = 0; i < dr.Length; i++)            {                TreeNode tn = new TreeNode();                tn.Text = dr[i]["last_text"].ToString();                tn.Tag = dr[i]["last_id"].ToString();                    FillTree(tn, dt);                treeView1.Nodes.Add(tn);            }        }        private void FillTree(TreeNode node, DataTable dt)        {            DataRow[] drr = dt.Select("last_parent='" + node.Tag.ToString() + "'");            if (drr.Length > 0)            {                for (int i = 0; i < drr.Length; i++)                {                    TreeNode tnn = new TreeNode();                    tnn.Text = drr[i]["last_text"].ToString();                    tnn.Tag = drr[i]["last_id"].ToString();                    if (drr[i]["last_parent"].ToString() == node.Tag.ToString())                    {                        FillTree(tnn, dt);                    }                    node.Nodes.Add(tnn);                }            }        } 

热点排行