会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
过江的博客
博客园
首页
新随笔
管理
订阅
Treeview的用法
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 窗体设计器生成的代码
#region
Web 窗体设计器生成的代码
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base
.OnInit(e);
}
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
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
>
posted on
2006-06-23 15:54
过江
阅读(
590
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告