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 System.Data.SqlClient;
using Microsoft.Web.UI.WebControls;

namespace test_IBatisNET
{
/// <summary>
/// WebForm4 的摘要说明。
/// </summary>
public class WebForm4 : System.Web.UI.Page
{
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
DataSet ds=new DataSet(); 

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面

SqlConnection CN = new SqlConnection();

//初始化连接字符串
CN.ConnectionString="server=.;User ID=sa;Password=sa;database=WJOA;Connection Reset=FALSE";
CN.Open();

//添加命令,从数据库中得到数据
SqlCommand sqlCmd= new SqlCommand();
sqlCmd.Connection = CN;
sqlCmd.CommandText = "select * from tbTree";
sqlCmd.CommandType = CommandType.Text ;
SqlDataAdapter adp = new SqlDataAdapter(sqlCmd);
adp.Fill(ds);

//调用递归函数,完成树形结构的生成
AddTree(0, (TreeNode)null);


}

Web 窗体设计器生成的代码

public void AddTree(int ParentID,TreeNode pNode) 
{
TreeNode tn1=new TreeNode();
DataView dvTree = new DataView(ds.Tables[0]);

//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENTID] = " + ParentID;
foreach(DataRowView Row in dvTree) 
{
if(pNode == null) 
{ //添加根节点

tn1.Text=Row["ConText"].ToString();
TreeView1.Nodes.Add(tn1);
tn1.Expanded=true;
AddTree(Int32.Parse(Row["ID"].ToString()),tn1); //再次递归
} 
else 
{ //添加当前节点的子节点
TreeNode tn2=new TreeNode();
tn2.Text=Row["ConText"].ToString();
pNode.Nodes.Add(tn2);
tn1.Expanded=true;
int str=Int32.Parse(Row["ID"].ToString());
AddTree(Int32.Parse(Row["ID"].ToString()),tn2); //再次递归
}
}
} 


}
}


Xml绑定
我们也可以XML数据绑定到TreeView控件上。只需将TreeNodeSrc属性指定到相关XML文件即可。也可以在代码中指定。
代码:
TreeView1.TreeNodeSrc="tree.xml";
TreeView1.DataBind();
注意:此时XML文件的格式是有限制的,其中TREENODES,treenode,text等为特定使用的元素及属性,大小写不能更改。如果格式不同,则需要用其它技术进行转换。下面是一个此种格式的XML示例。
<?xml version="1.0" encoding="UTF-8"?>
<TREENODES> 
<treenode text="Teach Yourself Active Server Pages 3.0 in 21 Days">
<treenode text="Price - $34.95" />
<treenode text="Authors">
<treenode text="Mitchell" />
<treenode text="Atkinson" />
</treenode>
<treenode text="Year Published - 2000" />
</treenode>
<treenode text="Designing Active Server Pages">
<treenode text="Price - $29.95" />
<treenode text="Authors">
<treenode text="Mitchell" />
</treenode>
<treenode text="Year Published - 2000" />
</treenode>
</TREENODES>


浙公网安备 33010602011771号