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
}
效果:
查看全文
相关阅读:
4.8 C++ typeid操作符
4.7 C++ dynamic_cast操作符
tomcat中class和jar的加载顺序(转)
java Files类和Paths类的用法 (转)
搭建DUBBO项目解决DUBBO.XML标签报错的问题(转载)
Maven异常:Could not find artifact
在docker宿主机上查找指定容器内运行的所有进程的PID
jmap、jstack、jps无法连接jvm解决办法
linux中如何查看某一进程的启动时间
Eureka与ZooKeeper 的比较(转)
原文地址:https://www.cnblogs.com/hooyes/p/hooyes_TreeView.html
最新文章
Python题库系列分享一(17道)
Python各种扩展名(py, pyc, pyw, pyo, pyd)区别
err Invalid input of type: 'dict'. Convert to a byte, string or number first
python requests函数封装方法
python之lambda,random,timeit,collections,
python 生成json格式文件,并存储到手机上
jmeter 创建接口测试案例
接口测试总结
android 反编译apk
如何在Python中让两个print()函数的输出打印在一行内?
热门文章
Jmeter HTTP请求后响应数据显示乱码解决方法
jmeter 环境java监视和管理控制
ubuntu gnome桌面隐藏顶栏
5.7 C++函数调用操作符重载
5.6 C++重载下标操作符
5.5 C++重载赋值操作符
5.4 C++重载输入与输出操作符
5.3 C++用顶层函数重载操作符
5.2 C++重载操作符的优先级
5.1 C++基本操作符重载
Copyright © 2011-2022 走看看