会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
品言
博客园
首页
新随笔
联系
订阅
管理
TreeView(递归)
很简单,不多说
最终效果:
数据库(Access):
代码:
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
runat
="server"
>
<
title
>
无标题页
</
title
>
</
head
>
<
body
>
<
form
id
="form1"
runat
="server"
>
<
div
style
="text-align:center;"
>
<
div
style
="margin:5px; float:left;"
><
asp:TreeView
runat
="server"
ID
="Tree1"
></
asp:TreeView
></
div
>
<
div
style
="margin-left:12px;"
><
asp:GridView
runat
="server"
ID
="GridView1"
></
asp:GridView
></
div
>
</
div
>
</
form
>
</
body
>
</
html
>
复制代码
public
partial
class
InfoSort : System.Web.UI.Page
{
DataSet ds
=
null
;
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
IsPostBack)
{
BindData();
loadtree();
}
}
private
void
loadtree()
{
Tree1.Nodes.Clear();
ds
=
GetDataSet(
"
SELECT * FROM sort
"
);
InitTree(Tree1.Nodes,
0
);
}
private
void
InitTree(TreeNodeCollection Nds,
int
parentid)
{
DataView dv
=
new
DataView();
TreeNode tmpNd
=
null
;
dv.Table
=
ds.Tables[
0
];
dv.RowFilter
=
String.Format(
"
parentid={0}
"
, parentid);
foreach
(DataRowView drv
in
dv)
{
tmpNd
=
new
TreeNode();
tmpNd.Text
=
(
string
)drv[
"
sortname
"
];
//
节点名称
tmpNd.NavigateUrl
=
String.Format(
"
?id={0}
"
, drv[
"
id
"
]);
//
节点URL
//
tmpNd.ImageUrl = "";
//
节点图片
if
(parentid
==
0
)
tmpNd.Expanded
=
true
;
else
tmpNd.Expanded
=
false
;
Nds.Add(tmpNd);
InitTree(Nds[Nds.Count
-
1
].ChildNodes, (
int
)drv[
"
id
"
]);
}
}
private
void
BindData()
{
GridView1.DataSource
=
GetDataSet(
"
select * from sort
"
);
GridView1.DataBind();
}
Dal
#region
Dal
private
OleDbConnection GetConn
{
get
{
string
path
=
Server.MapPath(
"
App_Data/Database2.mdb
"
);
string
_connStr
=
String.Format(
"
Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}
"
, path);
return
new
OleDbConnection(_connStr);
}
}
private
DataSet GetDataSet(
string
sql)
{
OleDbConnection _conn
=
null
;
OleDbDataAdapter odda
=
null
;
DataSet ds
=
null
;
try
{
ds
=
new
DataSet();
_conn
=
GetConn;
_conn.Open();
odda
=
new
OleDbDataAdapter(sql, GetConn);
odda.Fill(ds);
}
catch
(Exception ex)
{
throw
new
Exception(ex.Message);
}
finally
{
if
(odda
!=
null
)
odda.Dispose();
if
(_conn
!=
null
)
{
_conn.Close();
_conn.Dispose();
}
}
return
ds;
}
#endregion
}
复制代码
posted on
2012-01-12 10:38
品言
阅读(
166
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部