using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using Microsoft.Web.UI.WebControls; using System.Data.SqlClient; namespace treeview { /// <summary> /// WebForm1 的摘要说明。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Label Label1; protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
DataTable dt=new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("id",typeof(Int32)));//说明DataTable表里的包含哪些字段
dt.Columns.Add(new DataColumn("name",typeof(string)));
dt.Columns.Add(new DataColumn("url",typeof(string)));
dt.Columns.Add(new DataColumn("ParentId",typeof(Int32)));
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["pic"]);
conn.Open();
string sql="Select * from tb_class order by datetime desc";
SqlCommand Cmd=new SqlCommand(sql,conn);
SqlDataReader reader=Cmd.ExecuteReader();
while (reader.Read())
{
dr=dt.NewRow();//用DataTable的NewRow方法新建一个DataRow对象的实例dr
dr[0]=reader["id"];//数据库中的id字段填入这一行的第一列
dr[1]=reader["name"].ToString();//数据库中的name字段填入这一行的第二列
dr[2]="http://www.163.com";
dr[3]=reader["ParentId"];
dt.Rows.Add(dr);//把这一行插入到到表格dt中
}
Response.Write("ok");
this.AddNodes(dt,null,"0"); //添加节点
//Response.End();
this.TreeView1.SelectedNodeIndex=""; //不选中任何节点。
reader.Close();把DataTablet进站TreeView:
private void AddNodes(DataTable dt,TreeNode node,string ParentId) { DataRow[] rows = dt.Select("ParentId="+ParentId); //筛选出属于父节点 “node”的子节点集合
foreach(DataRow dr in rows) //循环子节点集合
{
TreeNode nd =new TreeNode();
nd.NavigateUrl=dr["url"].ToString(); //设置浏览的网址
nd.NodeData=dr["id"].ToString(); //存放节点 ID
nd.Text=dr["name"].ToString(); //设置节点名称
if(node==null || ParentId=="0")
{
this.TreeView1.Nodes.Add(nd); //添加至根节点
}
else
{
node.Nodes.Add(nd); //添加子节点
}
this.AddNodes(dt,nd,nd.NodeData); //递归,添加该节点的子节点
}//foreach(DataRow dr in rows)
}//private void AddNodes(DataTable dt,TreeNode node,string id)
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Web.UI.WebControls;
using System.Data.SqlClient;
namespace treeview
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection myConn ;
myConn=new SqlConnection("server=.;database=db_cqit_1;uid=sa;pwd=''");
myConn.Open();
SqlCommand Comm=new SqlCommand("select * from tbTree",myConn);
if(!IsPostBack)
{
TreeView1.Nodes.Clear();
SqlDataReader dr=Comm.ExecuteReader();
while(dr.Read())
{
if(dr["parentId"].ToString()=="")
{
TreeNode newNode=new TreeNode();
newNode.Text = dr["content"].ToString();
newNode.ID = dr["ID"].ToString();
TreeView1.Nodes.Add(newNode);
InitTree(newNode.Nodes, dr["ID"].ToString());
}
}
}//根接点是NULL
myConn.Close();
// 在此处放置用户代码以初始化页面
}
private void InitTree(TreeNodeCollection Nds,string parentId)
{
SqlConnection myConn ;
myConn=new SqlConnection("server=.;database=db_cqit_1;uid=sa;pwd=''");
myConn.Open();
SqlDataAdapter da=new SqlDataAdapter("select * from tbTree",myConn);
DataSet ds=new DataSet();
da.Fill(ds);
myConn.Close();
DataRow[] rows;
rows=ds.Tables[0].Select("parentId='"+parentId+"'");
TreeNode temNd;
foreach(DataRow row in rows)
{
temNd=new TreeNode();
temNd.ID=row["ID"].ToString();
temNd.Text=row["content"].ToString();
Nds.Add(temNd);
InitTree(temNd.Nodes,temNd.ID);
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.TreeView1.SelectedIndexChange += new Microsoft.Web.UI.WebControls.SelectEventHandler(this.TreeView1_SelectedIndexChange);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
TreeNode NewNode=TreeView1.GetNodeFromIndex(e.NewNode);
string strNodeId=NewNode.Text ;
Label1.Text=strNodeId;
}
}
}
hg 韩国 0
mg 美国 0
zg 中国 0
zg.gd 广东 zg 0
zg.gd.fj 福建 zg.gd 0
zg.gd.gz 广州 zg.gd 0
zg.gd.st 珠海 zg.gd 0
zg.gd.xg 宵旰 zg.hb 0
zg.hb 湖北 zg 0tbTree(ID ,content ,parentId ,isLeaf) 表结构..
你添加一个 treeview 和一个labal 进行了 还要该下数据库连接....