65.9K
CodeProject 正在变化。 阅读更多。
Home

如何将数据从数据库加载到 TreeView

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.79/5 (18投票s)

2008年3月21日

CPOL
viewsIcon

129986

如何将数据从数据库加载到 TreeView

引言

如何将数据从数据库加载到TreeView控件中

1-创建如下所示的两个表

ParentTable (父表)

Table1.jpg

ChildTable (子表)

Table2.jpg

2-添加一些数据

ParentTable (父表)

Table3.jpg

ChildTable (子表)

Table4.jpg

将TreeView控件拖放到网页上

如下所示

Image1.jpg

3-将以下代码复制到aspx.cs页面中

//Code Detail          
protected void Page_Load(object sender, EventArgs e)

{

fill_Tree2();

}
        

void fill_Tree2()

{



DataSet PrSet = PDataset("Select * from ParentTable");

TreeView1.Nodes.Clear();

foreach (DataRow dr in PrSet.Tables[0].Rows)

{

TreeNode tnParent = new TreeNode();

tnParent.Text = dr["ParentName"].ToString();

tnParent.Value = dr["ParentID"].ToString(); 

tnParent.PopulateOnDemand = true;

tnParent.ToolTip = "Click to get Child";

tnParent.SelectAction = TreeNodeSelectAction.SelectExpand;

tnParent.Expand();

tnParent.Selected = true;

TreeView1.Nodes.Add(tnParent);

FillChild(tnParent, tnParent.Value);

}

 

}

public void FillChild(TreeNode parent,string ParentId)

{

DataSet ds = PDataset("Select * from ChildTable where ParentId =" + ParentId);

parent.ChildNodes.Clear();

foreach (DataRow dr in ds.Tables[0].Rows)

{

TreeNode child = new TreeNode();

child.Text = dr["ChildName"].ToString().Trim();

child.Value = dr["ChildId"].ToString().Trim();

if (child.ChildNodes.Count == 0)

{

child.PopulateOnDemand = true;

}

child.ToolTip = "Click to get Child";

child.SelectAction = TreeNodeSelectAction.SelectExpand;

child.CollapseAll();

parent.ChildNodes.Add(child);

}

}

 

protected DataSet PDataset(string Select_Statement)

{

SqlConnection SqlCon = new SqlConnection("Data Source=;Integrated Security=True");

SqlDataAdapter ad = new SqlDataAdapter(Select_Statement, SqlCon);

DataSet ds = new DataSet();

ad.Fill(ds);

return ds;

 

}

Image2.jpg

关注点

学习新的控件

历史

在此处保持您所做的任何更改或改进的实时更新。

© . All rights reserved.