思路:
在嵌套使用repeater控件时,内部的repeater控件就要动态绑定数据源。
就下面的代码示例来说,外部的repeater控件是 rptTr ,内部的repeater控件是 rptTd 。需要在 rptTr 的 onitemdatabound 的处理函数中动态绑定数据源。
前台:
<asp:Repeater ID="rptTr" runat="server" OnItemDataBound="rptTr_ItemDataBound">
<HeaderTemplate>
<table border="1">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td >
<%# Container.DataItem %>
</td>
<asp:Repeater ID="rptTd" runat="server">
<ItemTemplate>
<td >
<%# Container.DataItem %>
</td>
</ItemTemplate>
</asp:Repeater>
</tr>
</ItemTemplate>
<FooterTemplate>
</table></FooterTemplate>
</asp:Repeater>
后台:
protected void Page_Loadobject sender, EventArgs e)
{
ArrayList list = new ArrayList);
for int i = 0; i < 5; i++)
{
list.Addi.ToString));
}
rptTr.DataSource = list.ToArray);
rptTr.DataBind);
}
protected void rptTr_ItemDataBoundobject sender, RepeaterItemEventArgs e)
{
ArrayList list = new ArrayList);
for int i = 1; i < 5; i++)
{
list.Add"列 " + i.ToString));
}
Repeater rpt = e.Item.FindControl"rptTd") as Repeater;
rpt.DataSource = list.ToArray);
rpt.DataBind);
}