zoukankan
html css js c++ java
TreeView数据绑定方法
Code
using
System;
using
System.Collections;
using
System.Configuration;
using
System.Data;
using
System.Linq;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.HtmlControls;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Data .SqlClient;
using
System.Data.OleDb;
public
partial
class
TreeView数据绑定方法 : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
Page.IsPostBack)
{
BindTree();
//
InitTree();
}
}
主从表绑定
#region
主从表绑定
private
void
BindTree()
{
DataSet dst
=
GetTreeViewData();
TreeView1.ShowCheckBoxes
=
TreeNodeTypes.All;
foreach
(DataRow masterRow
in
dst.Tables[
"
province
"
].Rows)
{
TreeNode masterNode
=
new
TreeNode((
string
)masterRow[
"
province
"
]);
TreeView1.Nodes.Add(masterNode);
foreach
(DataRow childRow
in
masterRow.GetChildRows(
"
Children
"
))
{
TreeNode childNode
=
new
TreeNode((
string
)childRow[
"
city
"
]);
masterNode.Expanded
=
false
;
masterNode.ChildNodes.Add(childNode);
}
}
}
private
DataSet GetTreeViewData()
{
//
string constring = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString();
string
constring
=
System.Configuration.ConfigurationSettings.AppSettings[
"
OleConnection
"
].ToString();
OleDbConnection con
=
new
OleDbConnection(constring);
OleDbDataAdapter daprovince
=
new
OleDbDataAdapter(
"
SELECT * FROM province
"
, con);
OleDbDataAdapter dacity
=
new
OleDbDataAdapter(
"
SELECT * FROM city
"
, con);
DataSet ds
=
new
DataSet();
daprovince.Fill(ds,
"
province
"
);
dacity.Fill(ds,
"
city
"
);
ds.Relations.Add(
"
Children
"
, ds.Tables[
"
province
"
].Columns[
"
provinceid
"
], ds.Tables[
"
city
"
].Columns[
"
father
"
]);
return
ds;
}
#endregion
递归绑定同一个表数据
#region
递归绑定同一个表数据
private
void
InitTree()
{
DataTable dt
=
GetTreeViewTable();
DataView dv
=
new
DataView(dt);
dv.RowFilter
=
"
ParentID=0
"
;
TreeView1.ShowCheckBoxes
=
TreeNodeTypes.All;
foreach
(DataRowView drv
in
dv)
{
TreeNode node
=
new
TreeNode();
node.Text
=
drv[
"
text
"
].ToString();
node.Value
=
drv[
"
ID
"
].ToString();
node.Expanded
=
false
;
TreeView1.Nodes.Add(node);
AddReplies(dt,node);
}
}
private
DataTable GetTreeViewTable()
{
string
constring
=
ConfigurationManager.ConnectionStrings[
"
ConnectionStr
"
].ToString();
OleDbConnection con
=
new
OleDbConnection(constring);
OleDbDataAdapter da
=
new
OleDbDataAdapter(
"
SELECT * FROM treeview
"
, con);
DataTable dt
=
new
DataTable();
da.Fill(dt);
return
dt;
}
private
void
AddReplies(DataTable dt, TreeNode node)
{
DataView dv
=
new
DataView(dt);
dv.RowFilter
=
"
ParentID='
"
+
node.Value
+
"
'
"
;
foreach
(DataRowView row
in
dv)
{
TreeNode replyNode
=
new
TreeNode();
replyNode.Text
=
row[
"
text
"
].ToString();
replyNode.Value
=
row[
"
ID
"
].ToString();
replyNode.Expanded
=
false
;
node.ChildNodes.Add(replyNode);
AddReplies(dt,replyNode);
}
}
#endregion
}
查看全文
相关阅读:
ArcGis Desktop arcmap安装步骤
ArcMap 中添加 ArcGis server
arcgis server 安装
哨兵数据处理,哨兵数据水体数据提取
Web安全之SQL注入攻击技巧与防范(转)
干货分享丨Python从入门到编写POC之初识OOP和类
干货分享丨Python从入门到编写POC之爬虫专题
干货分享丨XSS利用进阶
CVE-2020-9484 Apache Tomcat反序列化漏洞浅析
干货分享丨Python从入门到编写POC之常用的标准库
原文地址:https://www.cnblogs.com/hubcarl/p/1423540.html
最新文章
python获取标准的北京时间的源码
【Python】定义结构体,没有结构体,只能定义一个类
Windows Server 2012 R2 安装 OpenCV-Python
python 截屏
opencv模板匹配查找图像(python)
python模拟鼠标点击教程
Python实现屏幕截图的两种方式
#elif
Windows 命令行 bat/cmd 批处理中的 sleep 方法(批处理延时)
windows命令行中 启动应用程序
热门文章
asar文件的生成和解压
Android 创建单独的服务运行在后台(无界面)
数字图像字符识别——数字识别
SpringBoot中Junit测试注入Bean失败的解决方法
linux性能资源分析工具
linux终端快捷键
jmeter测试udp广播
linux学习(7):Linux最常用150个命令汇总
linux环境部署搭建流程
Java基础之Synchronized原理
Copyright © 2011-2022 走看看