在嵌套的repeater中加ItemDataBound事件

在嵌套的repeater中加ItemDataBound事件

一. 在开发过程中用到了嵌套repeater来显示页面,想在嵌套的repeater中的ItemDataBound中处理一些控件的显示。
用以下代码可以实现

private   void  repeaterMain_ItemCreated( object  sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
ExpandedBlockStart.gif        
{
            
//  确保处理的是数据行,而不是Header或者Footer
            if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.SelectedItem)
ExpandedSubBlockStart.gif            
{
                Repeater _subRepeater
=(Repeater)e.Item.FindControl("repeaterSub");
                _subRepeater.ItemDataBound 
+= new System.Web.UI.WebControls.RepeaterItemEventHandler(this.initSubRepeater);
            }

        }



private   void  initRepeater( object  sender,System.Web.UI.WebControls.RepeaterItemEventArgs e)
ExpandedBlockStart.gif
{
..
}

 

ItemDataBound 事件的绑定语句
_subRepeater.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.initSubRepeater);
要在
_subRepeater.DataBind();
之前

 

二. 利用Repeater控件显示主-从关系数据表的方法。

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

NestedRepeater.aspx



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 { /// /// NestedRepeater 的摘要说明。 /// 本文介绍如何利用Repeater控件显示主-从关系的表格 /// 原文参见: /// http://support.microsoft.com/default.aspx?scid=kb;en-us;306154 /// 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); } } }

 

转载于:https://www.cnblogs.com/sgivee/archive/2010/09/04/1817758.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值