谁有动态绑定树的代码实例 注释清楚点的 
 

解决方案 »

  1.   

    string sql="select name from sysobject where xtype ='U'";
    SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
    DataSet resultDS=New DataSet();
    adapter.Fill(resultDS, "sysobject");
    foreach(DataRow row in resultDS.Talbes["sysobject"].Rows)
    {
    sql="Select top 1 * From "+row["Name"].ToString();
    adapter = new SqlDataAdapter(sql, conn);
    adapter.Fill(resultDS, row["Name"].ToString());
    TreeNode tn = new TreeNode();
    tn.Name = row["Name"].ToString();
    tn.Text = row["Name"].ToString();
    treeView1.Nodes.Add(tn);
    foreach(DataColumn col in resultDS.Talbes[row["Name"].ToString()].Columns)
    {
    TreeNode subtn = new TreeNode();
    subtn.Name = col.ColumnName;
    subtn.Text = col.ColumnName;
    tn.Nodes.Add(subtn );
    }} 
      

  2.   

     protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                DataSet dataTable = Common.SqlDAO.ExecuteDataset("select *from myTree where parentId=0",null);
                for (int i = 0; i < dataTable.Tables[0].Rows.Count; i++)
                {
                    TreeNode tn = new TreeNode();
                    tn.Text = dataTable.Tables[0].Rows[i]["text"].ToString();
                    tn.Value = dataTable.Tables[0].Rows[i]["Id"].ToString();
                    tn.NavigateUrl = dataTable.Tables[0].Rows[i]["TargetUrl"].ToString();
                    tn.Target = "_url";
                    TreeView1.Nodes.Add(tn);
                    this.CreateNodes(tn);
                }
            }
        }
        protected void CreateNodes(TreeNode node)
        {
            string sql = "select *from myTree where parentId=@parentId";
            System.Data.SqlClient.SqlParameter[] p = new System.Data.SqlClient.SqlParameter[1];
            p[0] = new  System.Data.SqlClient.SqlParameter("@parentId",node.Value);
            DataSet dsetChildNodes = Common.SqlDAO.ExecuteDataset(sql, p);
            for (int i = 0; i < dsetChildNodes.Tables[0].Rows.Count; i++)
            {
                TreeNode childNode = new TreeNode();
                childNode.Text = dsetChildNodes.Tables[0].Rows[i]["text"].ToString();
                childNode.Value = dsetChildNodes.Tables[0].Rows[i]["id"].ToString();
                childNode.Target = dsetChildNodes.Tables[0].Rows[i]["TargetUrl"].ToString();
                childNode.NavigateUrl = dsetChildNodes.Tables[0].Rows[i]["TargetUrl"].ToString();
                node.ChildNodes.Add(childNode);
                this.CreateNodes(childNode);
            }
        }
      

  3.   

    TreeView 
      

  4.   


     //private void loadBind() 
            //{
            //    List<Tzx_Exam_SubjectInfo> l1 = Tzx_Exam_SubjectManager.GetTzx_Exam_SubjectInfoParent();
            //    for (int i = 0; i < l1.Count; i++)
            //    {
            //        TreeNode tn = new TreeNode(l1[i].SubjectId.ToString());
            //        tn.Text = l1[i].SubjectName;
            //       、、 this.treeView1.Nodes.Add(tn);
            //        LoadBindSon(l1[i].SubjectId,tn);
            //    }
            //}
            //private static void LoadBindSon(int ParentId,TreeNode tn)
            //{
            //    List<Tzx_Exam_SubjectInfo> l2 = Tzx_Exam_SubjectManager.GetTzx_Exam_SubjectInfoByParentId(ParentId);
            //    for (int j = 0; j < l2.Count; j++)
            //    {
            //        TreeNode t1 = new TreeNode(l2[j].SubjectId.ToString());
            //        t1.Text = l2[j].SubjectName;
            //        tn.Nodes.Add(t1);
            //        LoadBindSon(l2[j].SubjectId, t1);
            //    }
               
            //}
    动态绑定TreeView...
      

  5.   

    先查询出所有要显示的数据,保存在DataSet中
    /// <summary>
        /// 创建DataSet的方法
        /// </summary>
        /// <param name="nodes">TreeView的根节点</param>
        /// <param name="ds">Dataset数据集合</param>
        /// <param name="pid">节点的父</param>
        private void CreateTreeView(TreeNodeCollection nodes, DataSet ds, int pid)
        {
            //定义筛选条件
            string sql = string.Format("ParentID={0}", pid);        //从Dataset中筛选符合条件的行的集合
            DataRow[] drr = ds.Tables[0].Select(sql);        //遍历获得行的集合
            foreach (DataRow dr in drr)
            {
                //创建TreeView节点
                TreeNode tnode = new TreeNode();
                //添加到根节点中
                nodes.Add(tnode);
                //设置显示的文本
                //tnode.ImageUrl = "images/foldericon1.gif";
                tnode.Text = dr["PurName"].ToString();
                tnode.Value = dr["PurID"].ToString();
                //设置显示的路径
                tnode.NavigateUrl = dr["PurURL"].ToString();
                //递归调用方法
                CreateTreeView(tnode.ChildNodes, ds, Convert.ToInt32(dr["PurID"]));
                //从Dataset中删除已经添加的行,提高访问效率
                ds.Tables[0].Rows.Remove(dr);        }
        }