日期:2014-05-17  浏览次数:20793 次

C#递归DataTable问题...急!!!
有个DataTable里面的字段分别是ID、Name、PID,ID和PID存在树形结构规律,现在已知其中一个ID的值,如何计算出该节点下的所有子节点.


------解决方案--------------------
都是一样,,自己看看

C# code
        private void bindTreeView3()
        {
            string sql = "select * from table";
            DataTable dt = db.ExecuteDataTable(sql, CommandType.Text, null);
            DataRow[] dr = dt.Select("thelevel='0'");
            for (int i = 0; i < dr.Length; i++)
            {
                TreeNode tn = new TreeNode();
                tn.Text = dr[i]["dirname"].ToString();
                tn.Tag = dr[i]["dirid"].ToString();
                FillTree3(tn, dt);
                treeView3.Nodes.Add(tn);
            }
        }

        private void FillTree3(TreeNode tnn, DataTable dt)
        {
            DataRow[] dr = dt.Select("paraid='" + tnn.Tag.ToString() + "'");
            for (int i = 0; i < dr.Length; i++)
            {
                TreeNode tn = new TreeNode();
                tn.Text = dr[i]["dirname"].ToString();
                tn.Tag = dr[i]["dirid"].ToString();
                FillTree3(tn, dt);
                tnn.Nodes.Add(tn);
            }
        }