TreeView动态绑定

代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class Default2 : System.Web.UI.Page
{
string conString = ConfigurationManager.ConnectionStrings["heihei"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt
= SelectAllFather();
foreach(DataRow dr in dt.Rows)
{
string nodesid = dr[0].ToString();
string displayname = dr[1].ToString();
TreeNode fatherNode
= this.CreatTreeNode(displayname, nodesid);
CreateChildTree(nodesid, fatherNode);
TreeView1.Nodes.Add(fatherNode);
}

}

private void CreateChildTree(string nodesid, TreeNode fatherNode)
{
DataTable dt
= SelectAllChildById(nodesid);
foreach (DataRow dr in dt.Rows)
{
string cinodeid = dr[0].ToString();
string cinodename = dr[1].ToString();
TreeNode tnode
= CreatTreeNode(cinodename, cinodeid);
AddTree(fatherNode, tnode);
}
}

private TreeNode CreatTreeNode(string displayname, string nodesid)
{
TreeNode newnode
= new TreeNode();
newnode.Text
= displayname;
newnode.Value
= nodesid;
return newnode;
}

private void AddTree(TreeNode fatherNode, TreeNode tnode)
{
fatherNode.ChildNodes.Add(tnode);
}

//选出所有的父类
public DataTable SelectAllFather() {
string sql = "select * from tb_Father";
DataTable dt
= new DataTable();
SqlConnection conn
= new SqlConnection(conString);
conn.Open();
SqlCommand cmd
= new SqlCommand(sql, conn);
SqlDataReader dr
= cmd.ExecuteReader(CommandBehavior.CloseConnection);
dt.Load(dr);
return dt;
}

//根据id选出所有的子类
public DataTable SelectAllChildById(string id)
{
string sql = "select * from tb_Son where father_Id =" + id + "";
DataTable dt
= new DataTable();
SqlConnection conn
= new SqlConnection(conString);
conn.Open();
SqlCommand cmd
= new SqlCommand(sql, conn);
SqlDataReader dr
= cmd.ExecuteReader(CommandBehavior.CloseConnection);
dt.Load(dr);
return dt;
}
}

 

posted @ 2010-08-20 08:46  疯狂的民工  阅读(121)  评论(0编辑  收藏  举报