飘零人

飘零人

导航

节点树

Posted on 2008-07-14 21:53  飘零人  阅读(152)  评论(0)    收藏  举报

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


using System.Data.SqlClient;


namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        string conStr = "data source=.;database=test;uid=sa;pwd=sa";

        public Form1()
        {
            InitializeComponent();
            RootTree();
        }


        public void RootTree()
        {
            SqlConnection con = new SqlConnection(conStr);
            con.Open();
            string cmdStr = "select * from tree order by id";
            SqlCommand cmd = new SqlCommand(cmdStr, con);
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            con.Close();


            TreeNode bootNode = new TreeNode("主目录");
            this.treeView1.Nodes.Add(bootNode);

            //获得所有根目录
            DataRow[] dr = dt.Select("fid=" + 0);
            foreach (DataRow r in dr)
            {
                TreeNode node = new TreeNode();
                node.Text = r[2].ToString();
                string nodeID = r[0].ToString();
                bootNode.Nodes.Add(node);

                CreatNode(node, nodeID, dt);
            }
        }

        private void CreatNode(TreeNode node, string nodeID, DataTable dt)
        {

                DataRow[] dr = dt.Select("fid=" + nodeID);
                foreach (DataRow r in dr)
                {
                    TreeNode nodes = new TreeNode();
                    node.Text = r[2].ToString();
                    nodeID = r[0].ToString();
                    node.Nodes.Add(nodes);

                    CreatNode(nodes, nodeID, dt);
                }

        }

 

 


    }
}