using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
    DataView dv = null;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SqlConnection sqlcon = new SqlConnection("server = .; database = DBInfo; uid = sa; pwd = sa;");
            SqlCommand sqlcom = new SqlCommand("select * from TempInfo", sqlcon);
            SqlDataAdapter da = new SqlDataAdapter(sqlcom);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dv = ds.Tables[0].DefaultView;
            BindTV();
        }    }
    private void BindTV()
    {
        TreeNode Td = new TreeNode("全部");
        Td.Value = "0";
        CreateTree(Td);
        this.TreeView1.Nodes.Add(Td);
        this.TreeView1.DataBind();    }
    private void CreateTree(TreeNode Td)
    {        dv.RowFilter = "Tag = '" + Td.Value + "'";
        for (int i = 0; i < dv.Count; i++)
        {
            TreeNode td = new TreeNode();
            td.Text = dv[i]["TempName"].ToString();
            td.Value = dv[i]["Tag"].ToString();
            if (Td != null)
            {
                CreateTree(td);
            }
            td.ChildNodes.Add(td);
        }    }
}求高人指教!

解决方案 »

  1.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;public partial class TreeShowPage : System.Web.UI.Page
    {
        protected SqlConnection myConn;
        protected SqlDataAdapter myAdapter;
        protected DataSet data;
        protected string query;    
        protected void Page_Load(object sender, EventArgs e)
        {        if (!IsPostBack)
            {
                //获取数据连接语句,并创建数据库连接对象
                myConn = DBClass.GetConnection();
                CreateDataSet();
                InitTree(TreeView1.Nodes, "0");
            }
        }
        public DataSet CreateDataSet()
        {
            query = "select * from tbTree";
            myAdapter = new SqlDataAdapter(query, myConn);
            data = new DataSet();
            myAdapter.Fill(data, "tree");
            return data;    }
        //从DataSet中取数据建树
        //从根节点开始递归调用显示子树
        public void InitTree(TreeNodeCollection Nds, string parentId)
        {
            TreeNode NewNode;
            //data为存储建树数据信息的数据集
            //用父节点进行筛选数据集中信息
            DataRow[] rows = data.Tables[0].Select("parent_Id='" + parentId + "'");
            foreach (DataRow row in rows)
            {            NewNode = new
                    TreeNode(row["title"].ToString(),
                    row["Files_Id"].ToString(), row["NavigateUrl"].ToString());
                Nds.Add(NewNode);
              
                InitTree(NewNode.ChildNodes, row["Files_Id"].ToString());
            }
        }    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {        int nodeId = Convert.ToInt32(TreeView1.SelectedValue);
            string url = DBClass.GetUrl(nodeId);
            Response.Redirect(url.ToString());    }
    哦哦。。试试吧。。我试去了可以用的
      

  2.   

    我也是新来的。。学了二个星期的ASP了
      

  3.   

    还是把搞定的代码发出来给大家一起讨论讨论....
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    public partial class _Default : System.Web.UI.Page
    {
        DataView dv = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SqlConnection sqlcon = new SqlConnection("server = .; database = DBInfo; uid = sa; pwd = sa;");
                SqlCommand sqlcom = new SqlCommand("select * from TempInfo", sqlcon);
                SqlDataAdapter da = new SqlDataAdapter(sqlcom);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dv = ds.Tables[0].DefaultView;
                BindTV();
            }    }
        private void BindTV()
        {
            TreeNode Td = new TreeNode("全部");//创建父节点
            Td.Value = "0";        
            CreateTree(Td);    
            this.TreeView1.Nodes.Add(Td);        
            this.TreeView1.DataBind();    }
        private void CreateTree(TreeNode Td)    //递归子节点
        {        dv.RowFilter = "Tag = '" + Td.Value + "'";
            for (int i = 0; i < dv.Count; i++)
            {
                TreeNode td = new TreeNode();
                td.Text = dv[i]["TempName"].ToString();
                td.Value = dv[i]["TempID"].ToString();
                CreateTree(td);
                Td.ChildNodes.Add(td);
            }    }
    }
    下面是数据库create database DBInfo
    go use DBInfo
    go
    create table TempInfo
    (
    TempID int primary key identity(1,1),
    Tag int ,   --父节点ID;
    TempName varchar(20)
    )