zoukankan
html css js c++ java
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树,
数据库表关键字段:
表: table1
type_id type_name per_type_id
0
根目录 -
1
1
子目录
0
2
子目录2
0
3
子子目录
2
.
9
根目录二 -
1
C#代码
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Data.SqlClient;
public
partial
class
tree : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
TreeView1.Nodes.Clear();
DataTable dt
=
tree_table();
DataView dv
=
new
DataView(dt);
dv.RowFilter
=
"
type_id = 0
"
;
foreach
(DataRowView drv
in
dv)
{
TreeNode node
=
new
TreeNode();
node.Text
=
drv[
"
type_name
"
].ToString();
node.Value
=
drv[
"
type_id
"
].ToString();
node.NavigateUrl
=
"
?s=
"
+
drv[
"
type_id
"
].ToString();
TreeView1.Nodes.Add(node);
AddChildNode(dt, node);
}
}
private
DataTable tree_table()
{
//
hooyesDataLink 为配置中数据连接字符串键名
SqlConnection con
=
new
SqlConnection(ConfigurationManager.AppSettings[
"
hooyesDataLink
"
]);
SqlDataAdapter sda
=
new
SqlDataAdapter(
"
select * from table1
"
, con);
DataTable dt
=
new
DataTable();
sda.Fill(dt);
return
dt;
}
递归以实现无限级树
#region
递归以实现无限级树
private
void
AddChildNode(DataTable dt, TreeNode node)
{
DataView dv
=
new
DataView(dt);
//
建立dt的表视图
dv.RowFilter
=
"
per_type_id = '
"
+
node.Value
+
"
'
"
;
//
过滤
foreach
(DataRowView drv1
in
dv)
{
TreeNode ChildNode
=
new
TreeNode();
ChildNode.Text
=
drv1[
"
type_name
"
].ToString();
ChildNode.Value
=
drv1[
"
type_id
"
].ToString();
ChildNode.NavigateUrl
=
"
?s=
"
+
drv1[
"
type_id
"
].ToString();
ChildNode.Expanded
=
true
;
//
展开属性为FALSE
node.ChildNodes.Add(ChildNode);
AddChildNode(dt, ChildNode);
}
}
#endregion
}
效果:
查看全文
相关阅读:
苹果快速的修复了Mac OS High Sierra 上出现了root的漏洞
Codeforces Round #525 (Div. 2) C. Ehab and a 2-operation task
2018CHD-ACM新生赛(正式赛)E.解救迷茫的草滩小王子
2018CHD-ACM新生赛(正式赛)D.刀塔大师lwq I
2018CHD-ACM新生赛(正式赛)C.绝望のRevue
最小生成树——克鲁斯克算法+一道例题
求连通分量个数+判定二分图
动态规划——滚动数组(省内存)
[BZOJ 1491] [NOI 2007] 社交网络
SPOJ 8222 Substrings 后缀自动机
原文地址:https://www.cnblogs.com/hooyes/p/hooyes_TreeView.html
最新文章
Springboot整合RabbitMQ
RabbitMQ Pub/Sub订阅模式
RabbitMQ简单使用
Mac安装RabbitMQ
Homebrew长时间显示Updating Homebrew解决方法
负载均衡Ribbon
Eureka失效剔除和自我保护
6.2 选择排序
3dContactPointAnnotationTool开发日志(十二)
从久负盛名的GoDaddy开发革命来看Node.js的风靡程度
热门文章
BZOJ #2238. Mst (最小生成树+树链剖分+线段树)
[AtCoder Beginner Contest 175]-F
HDU
scrapy代理
hdu 1429 胜利大逃亡(续)(bfs+位压缩)
引子
bootstrap页面布局
订单行序号不可输入
python学习(一)
听《津津乐道》ThinkPad专题节目有感
Copyright © 2011-2022 走看看