在嵌套的repeater中加ItemDataBound事件
一. 在开发过程中用到了嵌套repeater来显示页面,想在嵌套的repeater中的ItemDataBound中处理一些控件的显示。
用以下代码可以实现
private void repeaterMain_ItemCreated(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
// 确保处理的是数据行,而不是Header或者Footer
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.SelectedItem)
{
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)
{
..
}
{
// 确保处理的是数据行,而不是Header或者Footer
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.SelectedItem)
{
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)
{
..
}
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