嵌套repeater

通过外层repeater的值来进行内层repeater的数据绑定

前台代码部分:


<asp:repeater runat="server" id="repeater1" OnItemDataBound="function2">

<itemtemplate>

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

  <itemtemplate>

  </itemtemplate>

  </asp:repeater>

<itemtemplate>

</asp:repeater>


后台代码部分:
private void function1()
{
  repeater1.datasource = datatable;
  repeater1.databind();
}

private void function2(object sender,repeateritemeventargs e)

{

  //判断里层repeater处于外层repeater的哪个位置(alternatingitemtemplate,footertemplate,headertemplate,itemtemplate,separatortemplate)

if(e.item.itemtype == listitemtype.item || e.item.itemtype == listitemtype.alternatingitem)

{

repeater rpt = e.item.findcotrol("repeater2") as repeater;  //找到里层的repeater对象

datarowview row = (datarowview)e.item.dataitem;      //找到分类repeater关联的数据项

int typeid = convert.toint32(row["id"]);            //获取填充子类的id

rpt.datasource = datatable;

rpt.databind();

}

}

posted @ 2014-03-17 20:24  潜心修行  阅读(320)  评论(0编辑  收藏  举报