1.html代码
<
HTML
>
< HEAD >
< title > NestedDataLists </ title >
< meta name ="GENERATOR" Content ="Microsoft Visual Studio .NET 7.1" >
< meta name ="CODE_LANGUAGE" Content ="C#" >
< meta name ="vs_defaultClientScript" content ="JavaScript" >
< meta name ="vs_targetSchema" content ="http://singlepine.cnblogs.com/" >
</ HEAD >
< body MS_POSITIONING ="GridLayout" >
< form id ="Form1" method ="post" runat ="server" >
< asp:DataList runat ="server" Id ="dlCategories" GridLines ="Both" Bordercolor ="black" cellpadding ="3"
cellspacing ="0" Headerstyle-BackColor ="#DDDDDD" Headerstyle-Forecolor ="#777777" Headerstyle-Font-Name ="Arial"
Headerstyle-Font-Size ="14" Headerstyle-Font-Bold ="true" Font-Name ="Arial" Font-Bold ="true"
Font-Italic ="true" Font-Size ="11" ForeColor ="Red" RepeatColumns ="1" >
< HeaderTemplate >
省市 & 市区
</ HeaderTemplate >
< ItemTemplate >
<% # DataBinder.Eval(Container, " DataItem.province " ) %>
< br >
< asp:DataList runat ="server" Id ="ChildDataList" GridLines ="None" Bordercolor ="black" cellpadding ="3" cellspacing ="0" Headerstyle-BackColor ="#8080C0" Headerstyle-Font-Name ="Arial" Headerstyle-Font-Size ="8" Font-Name ="Arial" Font-Size ="8" datasource ='<%# DataBinder.Eval(Container, "DataItem.myrelation") % > ' RepeatColumns="5">
< ItemTemplate >
<% # DataBinder.Eval(Container, " DataItem.city " ) %>
</ ItemTemplate >
</ asp:DataList >
</ ItemTemplate >
</ asp:DataList >
</ form >
</ body >
</ HTML >
< HEAD >
< title > NestedDataLists </ title >
< meta name ="GENERATOR" Content ="Microsoft Visual Studio .NET 7.1" >
< meta name ="CODE_LANGUAGE" Content ="C#" >
< meta name ="vs_defaultClientScript" content ="JavaScript" >
< meta name ="vs_targetSchema" content ="http://singlepine.cnblogs.com/" >
</ HEAD >
< body MS_POSITIONING ="GridLayout" >
< form id ="Form1" method ="post" runat ="server" >
< asp:DataList runat ="server" Id ="dlCategories" GridLines ="Both" Bordercolor ="black" cellpadding ="3"
cellspacing ="0" Headerstyle-BackColor ="#DDDDDD" Headerstyle-Forecolor ="#777777" Headerstyle-Font-Name ="Arial"
Headerstyle-Font-Size ="14" Headerstyle-Font-Bold ="true" Font-Name ="Arial" Font-Bold ="true"
Font-Italic ="true" Font-Size ="11" ForeColor ="Red" RepeatColumns ="1" >
< HeaderTemplate >
省市 & 市区
</ HeaderTemplate >
< ItemTemplate >
<% # DataBinder.Eval(Container, " DataItem.province " ) %>
< br >
< asp:DataList runat ="server" Id ="ChildDataList" GridLines ="None" Bordercolor ="black" cellpadding ="3" cellspacing ="0" Headerstyle-BackColor ="#8080C0" Headerstyle-Font-Name ="Arial" Headerstyle-Font-Size ="8" Font-Name ="Arial" Font-Size ="8" datasource ='<%# DataBinder.Eval(Container, "DataItem.myrelation") % > ' RepeatColumns="5">
< ItemTemplate >
<% # DataBinder.Eval(Container, " DataItem.city " ) %>
</ ItemTemplate >
</ asp:DataList >
</ ItemTemplate >
</ asp:DataList >
</ form >
</ body >
</ HTML >
2.cs代码
public
class
NestedDataLists : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataList dlCategories;
private void Page_Load( object sender, System.EventArgs e)
{
string constring = System.Configuration.ConfigurationSettings.AppSettings[ " ConnectionString " ];
DataSet ds = new DataSet();
string sql1 = " select * from province " ;
SqlDataAdapter sda1 = new SqlDataAdapter(sql1,constring);
sda1.Fill(ds, " province " );
string sql2 = " select * from city " ;
SqlDataAdapter sda2 = new SqlDataAdapter(sql2,constring);
sda2.Fill(ds, " city " );
ds.Relations.Add( " myrelation " , ds.Tables[ " province " ].Columns[ " provinceID " ], ds.Tables[ " city " ].Columns[ " father " ]);
dlCategories.DataSource = ds.Tables[ " province " ].DefaultView;
dlCategories.DataBind();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base .OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this .Load += new System.EventHandler( this .Page_Load);
}
#endregion
}
{
protected System.Web.UI.WebControls.DataList dlCategories;
private void Page_Load( object sender, System.EventArgs e)
{
string constring = System.Configuration.ConfigurationSettings.AppSettings[ " ConnectionString " ];
DataSet ds = new DataSet();
string sql1 = " select * from province " ;
SqlDataAdapter sda1 = new SqlDataAdapter(sql1,constring);
sda1.Fill(ds, " province " );
string sql2 = " select * from city " ;
SqlDataAdapter sda2 = new SqlDataAdapter(sql2,constring);
sda2.Fill(ds, " city " );
ds.Relations.Add( " myrelation " , ds.Tables[ " province " ].Columns[ " provinceID " ], ds.Tables[ " city " ].Columns[ " father " ]);
dlCategories.DataSource = ds.Tables[ " province " ].DefaultView;
dlCategories.DataBind();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base .OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this .Load += new System.EventHandler( this .Page_Load);
}
#endregion
}