表B中的Aid对应着表A中的id,也就是它的子节点,怎么把这个关系绑定到treeview,说具体点,谢谢

解决方案 »

  1.   


    private TreeNode getTreeView1()
            {
                TreeNode node = new TreeNode();
                DataTable dtA = new DataTable();            //这里将A表中的数据搜索大放到dtA表中;
                //dtA=.....
                //select * from A 
                if (dtA.Rows.Count > 0)
                {
                    for (int i = 0; i < dtA.Rows.Count; i++)
                    {
                        TreeNode node1 = new TreeNode();
                        node1.Text = dtA.Rows[i]["Name"].ToString();
                        node1.Value = dtA.Rows[i]["id"].ToString();
                        DataTable dtB = new DataTable();
                        //这里将B表中搜索到的数据放到dtB表中;
                        //dtB=.....
                        //select * form B where Aid=【dtA.Rows[i]["id"].ToString()】,括号里的是A表的id值,
                        if (dtB.Rows.Count > 0)
                        {
                            for (int j = 0; j < dtB.Rows.Count; j++)
                            {
                                TreeNode node2 = new TreeNode();
                                node2.Text = dtB.Rows[i]["Name"].ToString();
                                node2.Value = dtB.Rows[i]["id"].ToString();
                                node1.ChildNodes.Add(node2);
                            }
                            node1.Expanded = true;
                        }
                        node.ChildNodes.Add(node1);
                    }
                    node.Expanded = true;
                }
                return node;
            }在Page_Load事件里写
    TreeView1.Nodes.Add(getTreeView1());
    应该就可以了,
      

  2.   

    我以前项目中绑定Treeview的代码给你参考一下吧! Sqlconn sqlconn = new Sqlconn();        private void tvbind()
            {
                tvmodule.Nodes.Clear();
                TreeNode tnp = new TreeNode("所有系统模块", "0");
                tnp.Expand();
                tvmodule.Nodes.Add(tnp);
                for (int i = 0; i < sqlconn .modone().Rows .Count ; i++)
                { 
                    TreeNode tn = new TreeNode (sqlconn.modone ().Rows [i][1].ToString (),sqlconn.modone ().Rows [i][0].ToString ());
                    if (IsPostBack)
                    {
                        tn.Expand();
                    }
                    tvmodule.Nodes[0].ChildNodes.Add(tn);
                    for (int j = 0; j < sqlconn.modtwo( Convert .ToInt32( sqlconn.modone().Rows[i][0])).Rows.Count; j++)
                    {
                        TreeNode tntwo = new TreeNode(sqlconn.modtwo(Convert.ToInt32(sqlconn.modone().Rows[i][0])).Rows[j][2].ToString(), sqlconn.modtwo(Convert.ToInt32(sqlconn.modone().Rows[i][0])).Rows[j][0].ToString());
                        tvmodule.Nodes[0].ChildNodes[i].ChildNodes.Add(tntwo);
                    }
                }
            }        protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    tvbind();
                }
            }
      

  3.   

    treeview递归