NestedRepeater.aspx
<%@ Import Namespace="System.Data" %><br /><%@ Page language="c#" Codebehind="NestedRepeater.aspx.cs"<br />AutoEventWireup="false" Inherits="eMeng.NestedRepeater" %><br /><HTML><br /><body><br /><form runat="server"><br /><!-- 父Repeater開始 --><br /><asp:repeater id="parentRepeater" runat="server"><br /><itemtemplate><br /><b><br /><%# DataBinder.Eval(Container.DataItem,"au_id") %><br /></b><br /><br><br /><!-- 子Repeater開始 --><br /><asp:repeater id="childRepeater" runat="server"<br />datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>'><br /><itemtemplate><br /><%# DataBinder.Eval(Container.DataItem, "[/"title_id/"]")%><br /><br><br /></itemtemplate><br /></asp:repeater><br /><!-- 子Repeater結束 --><br /></itemtemplate><br /></asp:repeater><br /><!-- 父Repeater結束 --><br /></form><br /></body><br /></HTML><br />
NestedRepeater.aspx.cs
using System;<br />using System.Data;<br />using System.Data.SqlClient;<br />using System.Web;<br />using System.Web.SessionState;<br />using System.Web.UI;<br />using System.Web.UI.WebControls;<br />namespace eMeng<br />{<br />/// <summary><br />/// NestedRepeater 的摘要說明。<br />/// 本文介紹如何利用Repeater控制項顯示主-從關係的表格<br />/// 原文參見:<br />/// http://support.microsoft.com/default.aspx?scid=kb;en-us;306154<br />/// </summary><br />public class NestedRepeater : System.Web.UI.Page<br />{<br />protected System.Web.UI.WebControls.Repeater parentRepeater;<br />public void Page_Load(object sender, EventArgs e)<br />{<br />// 為Authors表建立 Connection 和 DataAdapter<br />string cnnString = @"server=(local)/NetSDK;database=pubs; Integrated Security=SSPI;";<br />SqlConnection cnn = new SqlConnection(cnnString);<br />SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn);<br />//建立填充 DataSet.<br />DataSet ds = new DataSet();<br />cmd1.Fill(ds,"authors");<br />// 為Titles表建立 DataAdapter<br />SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);<br />cmd2.Fill(ds,"titles");<br />// 建立 Authors 表和 Titles 表之間的關係.<br />ds.Relations.Add("myrelation",<br />ds.Tables["authors"].Columns["au_id"],<br />ds.Tables["titles"].Columns["au_id"]);<br />// 綁定Authors到父Repeater<br />parentRepeater.DataSource = ds.Tables["authors"];<br />Page.DataBind();<br />cnn.Close();<br />cnn.Dispose();<br />}<br />private void Page_Init(object sender, EventArgs e)<br />{<br />InitializeComponent();<br />}<br />private void InitializeComponent()<br />{<br />this.Load += new System.EventHandler(this.Page_Load);<br />}<br />public NestedRepeater()<br />{<br />Page.Init += new System.EventHandler(Page_Init);<br />}<br />}<br />}<br />