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
}
效果:
查看全文
相关阅读:
LINQ篇:ASP.NET using LINQ(Part One) Scott大师的产物
运算符重载 operator+[纯属温习啊][附加了一些内容 如:同名属性,复制构造函数]
Vista中低端电脑如何打开Aero效果或者就是3D效果
基于可配置化的设计[原创][4.20更新]
Treeview控件如何在asp.net ajax中使用小技巧
PetShop 4.0 系列之四 [转]
XML篇查询语言XPath
抽象工厂模式[转]
何时使用委托而不使用接口
DNN开篇第一话
原文地址:https://www.cnblogs.com/hooyes/p/hooyes_TreeView.html
最新文章
JS乱贴
验证 ASP.NET 查询字符串[分享]
[ASP.NET AJAX]谨记给UpdatePanel中动态添加的控件赋ID
以非泛型方式调用泛型方法
[原创]自定义Config例子,使用IConfigurationSectionHandler 接口
Asp.net Ajax编程参考
利用反射动态调用类成员(泛型篇)
XML篇可配置化的取值方式[便于维护]
对《以非泛型方式调用泛型方法》一文的探讨
PetShop的系统架构设计[转]
热门文章
Refactor!™ for ASP.NETASP.NET代码重构插件
扩展GridView控件[转]
VS2005新建找不到模板了的解决方法
PetShop4.0 系列之三 [转]
Pet Shop 4.0 系列之六 [转]
ASP.Net DebugError解决方案[转]:Unable to start debugging on the web server.Debugging failes because integrated Windows authentication is not enabled.
LINQ篇:查询句法[转]
利用反射动态调用类成员[原创]
WF 与 WCF 集成
工作之余分享一下2007年大片
Copyright © 2011-2022 走看看