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
}
查看全文
相关阅读:
restart xinetd
Hello World——Linux汇编
C++箴言:理解inline化的介入和排除
网上找来的不错的Debian sources.list
C/C++中static变量和static函数的用法
Inline内联函数的总结贴
C++箴言:理解inline化的介入和排除
Hello World——Linux汇编
网上找来的不错的Debian sources.list
C/C++中static变量和static函数的用法
原文地址:https://www.cnblogs.com/hubcarl/p/1423540.html
最新文章
Oracle当心,MySQL原始团队已重整旗鼓!
[转载]java 图片验证码的实现
[转载]电话销售技巧全面大攻略
数据库笔试题
Java可以输入的下拉框
图片验证码的实现(java web)
实现jsp页面二级下拉框联动,实时读取数据库数据
实现jsp页面二级下拉框联动,实时读取数据库数据
Java可以输入的下拉框
[转载]电话销售技巧全面大攻略
热门文章
[转载]java 图片验证码的实现
tcltk 2
yum local
tcl socket
yum CentOS
tcltk 1
CentOS build essential
Amber
Socket
socket connection
Copyright © 2011-2022 走看看