您的位置:首页 > 其它

利用Repeater控件显示主-从关系数据表

2008-01-16 09:55 447 查看
Nestedrepeater.aspx


<%@ Import Namespace="System.Data" %>


<%@ Page language="c#" Codebehind="NestedRepeater.aspx.cs"


AutoEventWireup="false" Inherits="eMeng.NestedRepeater" %>


<HTML>


<body>


<form runat="server">


<!-- 父Repeater开始 -->


<asp:repeater id="parentRepeater" runat="server">


<itemtemplate>


<b>


<%# DataBinder.Eval(Container.DataItem,"au_id") %>


</b>


<br>


<!-- 子Repeater开始 -->


<asp:repeater id="childRepeater" runat="server"


datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>'>


<itemtemplate>


<%# DataBinder.Eval(Container.DataItem, "["title_id"]")%>


<br>


</itemtemplate>


</asp:repeater>


<!-- 子Repeater结束 -->


</itemtemplate>


</asp:repeater>


<!-- 父Repeater结束 -->


</form>


</body>


</HTML>



Nestedrepeater.aspx.cs


using System;


using System.Data;


using System.Data.SqlClient;


using System.Web;


using System.Web.SessionState;


using System.Web.UI;


using System.Web.UI.WebControls;




namespace eMeng




...{




/**//// <summary>


/// NestedRepeater 的摘要说明。


/// 本文介绍如何利用Repeater控件显示主-从关系的表格


/// 原文参见:


/// http://support.microsoft.com/default.aspx?scid=kb;en-us;306154

/// </summary>


public class NestedRepeater : System.Web.UI.Page




...{


protected System.Web.UI.WebControls.Repeater parentRepeater;




public void Page_Load(object sender, EventArgs e)




...{


// 为Authors表创建 Connection 和 DataAdapter


string cnnString = @"server=(local)NetSDK;database=pubs; Integrated Security=SSPI;";


SqlConnection cnn = new SqlConnection(cnnString);


SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn);




//创建填充 DataSet.


DataSet ds = new DataSet();


cmd1.Fill(ds,"authors");




// 为Titles表创建 DataAdapter


SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);


cmd2.Fill(ds,"titles");




// 创建 Authors 表和 Titles 表之间的关系.


ds.Relations.Add("myrelation",


ds.Tables["authors"].Columns["au_id"],


ds.Tables["titles"].Columns["au_id"]);




// 绑定Authors到父Repeater


parentRepeater.DataSource = ds.Tables["authors"];


Page.DataBind();




cnn.Close();


cnn.Dispose();


}


private void Page_Init(object sender, EventArgs e)




...{


InitializeComponent();


}


private void InitializeComponent()




...{


this.Load += new System.EventHandler(this.Page_Load);


}


public NestedRepeater()




...{


Page.Init += new System.EventHandler(Page_Init);


}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: