代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

您现在的位置是:首页>_C#

怎么把SQL数据库里的值绑定到TreeView的子节点和根节点

发布时间:2019-08-20浏览(800)

    怎样把SQL数据库里的值绑定到TreeView的子节点和根节点?
    怎样把SQL数据库里的值绑定到TreeView的子节点和根节点?
    我的类有一级,二级,要分别绑定到他们的一级节点,二级节点上??
    吼起来`~

    ------解决方案--------------------
    给你个递归参考.其中的gvTreeView你可以用TreeView来替代.
    C# code
    
            private void Form1_Load(object sender, EventArgs e)
            {
                SqlConnection sql = new SqlConnection(@"Data Source=LIUFENG\SQLEXPRESS;Initial Catalog=liufeng;Integrated Security=True");
                SqlCommand cmd = new SqlCommand("Select * from TreeTable", sql);
                DataSet dss = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dss);
                DataTable dt = dss.Tables[0];
                BindTree(gvTreeView, dt);
            }
            protected void BindTree(gvTreeView gvTreeView , DataTable dt)
            {
                gvTreeView.Nodes.Clear();//清空树节点
                DataRow []row = dt.Select("ParentID is null");
                if (row.Length <= 0)
                {
                    return;//找不到根结点则返回
                }
                gvTreeNode root = new gvTreeNode();
                root.Text = row[0]["name"].ToString();
                root.Tag = row[0]["ID"].ToString();            
                gvTreeView.Nodes.Add(root);           
                CreateChildNode(root, dt);
                root.Expand();
            }
    
            protected void CreateChildNode(gvTreeNode gvTreeNode, DataTable dt)
            {
                DataRow[] rows = dt.Select("ParentID ='" + gvTreeNode.Tag + "'");
                foreach(DataRow row in rows)
                {
                    gvTreeNode Node = new gvTreeNode();
                    Node.Text = row["name"].ToString();
                    Node.Tag = row["ID"].ToString();
                    gvTreeNode.Nodes.Add(Node);
                    CreateChildNode(Node, dt);
                }
            }
    
    ------解决方案--------------------
    treeView1.ExpandAll()
    就可以展开啊。