<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Default.aspx.cs
"
Inherits
=
"
_Default
"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
< style type ="text/css" >
<!--
body,td,th {
font-family : 宋体 ;
font-size : 9pt ;
}
body {
margin-left : 0px ;
margin-top : 0px ;
margin-right : 0px ;
margin-bottom : 0px ;
}
-->
</ style >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:TreeView ID ="TreeView1" runat ="server" Width ="100%" />
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
< style type ="text/css" >
<!--
body,td,th {
font-family : 宋体 ;
font-size : 9pt ;
}
body {
margin-left : 0px ;
margin-top : 0px ;
margin-right : 0px ;
margin-bottom : 0px ;
}
-->
</ style >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:TreeView ID ="TreeView1" runat ="server" Width ="100%" />
</ div >
</ form >
</ body >
</ html >
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 _Default : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
if ( ! IsPostBack)
{
TreeViewBind();
}
}
主从表绑定 #region 主从表绑定
private void TreeViewBind()
{
DataSet dst = GetTreeViewData();
foreach (DataRow masterRow in dst.Tables[ " sProBigName " ].Rows)
{
TreeNode masterNode = new TreeNode(( string )masterRow[ " sProBigName " ]);
TreeView1.Nodes.Add(masterNode);
foreach (DataRow childRow in masterRow.GetChildRows( " child " ))
{
TreeNode childNode = new TreeNode(( string )childRow[ " sProSmallSortName " ]);
masterNode.Expanded = false ;
masterNode.ChildNodes.Add(childNode);
}
}
}
private DataSet GetTreeViewData()
{
SqlConnection Conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings[ " ConnectionSqlServer " ].ToString());
SqlDataAdapter BigSort = new SqlDataAdapter( " select * from [Yp_ProBigSort] " , Conn);
SqlDataAdapter SmallSort = new SqlDataAdapter( " select * from [Yp_ProSmallSort] " , Conn);
DataSet ds = new DataSet();
BigSort.Fill(ds, " sProBigName " );
SmallSort.Fill(ds, " sProSmallSortName " );
ds.Relations.Add( " child " , ds.Tables[ " sProBigName " ].Columns[ " iProBigSort_ID " ], ds.Tables[ " sProSmallSortName " ].Columns[ " iProBigSortID " ]);
return ds;
}
#endregion
}
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 _Default : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
if ( ! IsPostBack)
{
TreeViewBind();
}
}
主从表绑定 #region 主从表绑定
private void TreeViewBind()
{
DataSet dst = GetTreeViewData();
foreach (DataRow masterRow in dst.Tables[ " sProBigName " ].Rows)
{
TreeNode masterNode = new TreeNode(( string )masterRow[ " sProBigName " ]);
TreeView1.Nodes.Add(masterNode);
foreach (DataRow childRow in masterRow.GetChildRows( " child " ))
{
TreeNode childNode = new TreeNode(( string )childRow[ " sProSmallSortName " ]);
masterNode.Expanded = false ;
masterNode.ChildNodes.Add(childNode);
}
}
}
private DataSet GetTreeViewData()
{
SqlConnection Conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings[ " ConnectionSqlServer " ].ToString());
SqlDataAdapter BigSort = new SqlDataAdapter( " select * from [Yp_ProBigSort] " , Conn);
SqlDataAdapter SmallSort = new SqlDataAdapter( " select * from [Yp_ProSmallSort] " , Conn);
DataSet ds = new DataSet();
BigSort.Fill(ds, " sProBigName " );
SmallSort.Fill(ds, " sProSmallSortName " );
ds.Relations.Add( " child " , ds.Tables[ " sProBigName " ].Columns[ " iProBigSort_ID " ], ds.Tables[ " sProSmallSortName " ].Columns[ " iProBigSortID " ]);
return ds;
}
#endregion
}
Yp_ProBigSort表
数据结构:
iProBigSort_ID(父表主键)
sProBigName(根节点名称)
iProBigSort_ID sProBigName
1 普通内科
2 普通外科
3 妇产科
Yp_ProSmallSort表
iProSmallSort_ID(子表主键)
iProBigSortID(父表主键)
sProSmallSortName(子节点名称)
iProSmallSort_ID iProBigSortID sProSmallSortName
1 1 感冒
2 1 发烧
3 2 普通外科1
4 2 普通外科2
5 3 妇产科1
6 3 妇产科2
本文介绍如何使用ASP.NET 2.0中的TreeView控件实现基于数据库的主从表绑定。通过创建数据集并填充主表与从表数据,利用数据关系建立父子节点间的关联。
860

被折叠的 条评论
为什么被折叠?



