有兩個表:
   班級信息表和學生信息表,用樹控件(C#實現)將班級和班級裡的學生綁定到樹上,如下:        學生列表
             班級A
                  學生1
                  學生2
                  學生3
             班級B
                 學生4
                 學生5
                 學生6
             班級C
                 學生7
                 學生8
                 學生9樹綁定結果如上,其中班級A,B,C都是從班級表取出,學生1,2,3,4,5,6,7,8,9都是從學生表中取出的。當然有很多的班級和學生,請問怎么綁定?解決後立刻給分!

解决方案 »

  1.   

    private void  ShowAllTree(string ddd ,Microsoft.Web.UI.WebControls.TreeNodeCollection nodes)
    {
    DataRow[] drs=dt.Select("parentid='"+ddd  +"'","");
    for(int i=0;i<drs.Length ;i++)
    {
    TreeNode newNode=new TreeNode();
    DataRow dr=drs[i];
    newNode.Text=dr["deptName"].ToString().Trim ();
    newNode.NodeData =dr["deptid"].ToString ().Trim ();
    newNode.Target="UserList";
    newNode.NavigateUrl="AddPolice.aspx?id="+newNode.NodeData;
    nodes.Add(newNode);
    string  newID = dr["deptid"].ToString ().Trim ();
    ShowAllTree(newID,newNode.Nodes); //递归调用,将子结点ID当做下一当前结点ID
    }
    }
      

  2.   

    public void CreateTree()
        {
            HNXL.BLL.sjcxtj.tj tree = new HNXL.BLL.sjcxtj.tj();
            DataSet treeDs = new DataSet();
            treeDs = tree.Get_Tree_WD(DDL_FA.SelectedValue.ToString());
            if (treeDs.Tables.Count > 0)
            {            for (int i = 0; i < treeDs.Tables[0].Rows.Count; i++)
                {
                    TreeNode oneLevelNode = new TreeNode();
                    oneLevelNode.Text = treeDs.Tables[0].Rows[i]["ZBMC"].ToString();
                    oneLevelNode.Value = treeDs.Tables[0].Rows[i]["ZBID"].ToString();
                    TreeView1.Nodes.Add(oneLevelNode);
                    oneLevelNode.Expanded = false;
                    oneLevelNode.ImageUrl = "../images/folder.gif";
                    DataSet treeDetailDs = new DataSet();
                    treeDetailDs = tree.Get_Tree_WDDetail(DDL_FA.SelectedValue.ToString(), treeDs.Tables[0].Rows[i]["ZBID"].ToString());
                    if (treeDetailDs.Tables.Count > 0)
                    {
                        for (int j = 0; j < treeDetailDs.Tables[0].Rows.Count; j++)
                        {
                            TreeNode twoLevelNode = new TreeNode();
                            twoLevelNode.Text = treeDetailDs.Tables[0].Rows[j]["ZBMC"].ToString();
                            twoLevelNode.Value = treeDetailDs.Tables[0].Rows[j]["ZBID"].ToString();
                            oneLevelNode.ChildNodes.Add(twoLevelNode);
                            twoLevelNode.Expanded = false;
                            twoLevelNode.ImageUrl = "../images/page.gif";                    }
                    }
                }
            }
        }
      

  3.   

    象这种需求,最好是扩展你的treeview控件,使其能加载xml格式的文件,动态生成树节点,www.codeproject.com 有这方面的代码,这几天我这里上不去,你自己查查(可能是台湾地震把海底电缆震断了吧,哈哈,题外话)