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
}
查看全文
相关阅读:
STM32本学习笔记EXTI(外部中断)
加速了土壤深根技术,建立了完善的技术体系,改变思维模式,引创造新的工作流程。。。
2.大约QT数据库操作,简单的数据库连接操作,增删改查数据库,QSqlTableModel和QTableView,事务性操作,大约QItemDelegate 代理
CentOS7下一个mysql安装
【iOS】随机三角瓷砖布局算法
[LeetCode]Pascal's Triangle
APK 代码混淆
动态规划最长的回文序列
jQuery整理笔记2----jQuery选择整理
POJ 3422 Kaka's Matrix Travels(费用流)
原文地址:https://www.cnblogs.com/hubcarl/p/1423540.html
最新文章
2014元旦第1周三新的尝试&爬山丢失望远镜
2013第53周二最后一天
2013第53周一
2013第52周日
2013第52周六当前用到的一些软件及网站
2013第52周五充满抱怨负能量
eclipse工具再学习
手机存储文件管理记
2013第52周三
2013第52周二开发记
热门文章
北京簋街 美食全然攻略 + 簋街好吃的夜宵去处-----店铺介绍大全
java中synchronized使用方法
Duanxx的C++学习: const指针具体解释
exosip
墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律
背包问题九讲笔记_01背包
Android:刚6瓶啤酒4两56度白酒下肚,竟然20分钟做了一手机版站点 !
InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。
白话经典算法系列之六 高速排序 高速搞定
使用zzip和minizip解压缩文件
Copyright © 2011-2022 走看看