动态绑定TreeVew
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
private DataView dv;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetData();
BuilderTree(-1, (TreeNode)null);
}
}
private void GetData()
{
string sql = "select * from inventoryclass";
DataSet ds = DBHelper.GetData(sql);
dv = new DataView(ds.Tables[0]);
}
//树的绑定
private void BuilderTree(int ParentID, TreeNode pNode)
{
TreeView1.ShowCheckBoxes = TreeNodeTypes.All;
dv.RowFilter = "ParentID =" + ParentID;
foreach (DataRowView row in dv)
{
TreeNode node = new TreeNode();
if (pNode == null)
{
//添加根节点
node.Text = row["name"].ToString();
TreeView1.Nodes.Add(node);
node.Expanded = true;
BuilderTree(int.Parse(row["id"].ToString()), node); //递归
}
else
{
//添加当前节点的子节点
node.Text = row["name"].ToString();
pNode.ChildNodes.Add(node);
node.Expanded = true;
BuilderTree(int.Parse(row["id"].ToString()), node); //递归
}
}
}
}