TreeView动态绑定
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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;
}
}