zoukankan
html css js c++ java
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
}
查看全文
相关阅读:
C#多线程(16):手把手教你撸一个工作流
C#多线程(15):任务基础③
C#多线程(14):任务基础②
C#多线程(13):任务基础①
C#多线程(12):线程池
C#多线程(11):线程等待
C#多线程(10):读写锁
C#多线程(9):多阶段并行线程
C#多线程(8):线程完成数
C#多线程(7):手动线程通知
原文地址:https://www.cnblogs.com/wfcfan/p/1233450.html
最新文章
大数据篇:Zookeeper
大数据篇:YARN
大数据篇:MapReduce
大数据篇:HDFS
环境篇:CM+CDH6.2.0安装(全网最全)
环境篇:Git和Github
环境篇:DolphinScheduler-1.2.0.release安装部署
软件篇:JAVA保姆->IntelliJ IDEA
软件篇:远程访问->"Xmanager"
软件篇:找茬->"DiffMerge"
热门文章
9.队列:生产者消费者模式
我们常听到的WAL到底是什么
HTTP 前世今生
8.栈-实现浏览器的前进后退
Mysql:小主键,大问题
Mysql大数据量问题与解决
7L-双向链表实现
6L-单向链表实现
你应该知道一些其他存储——列式存储
5L-链表导论心法
Copyright © 2011-2022 走看看