关于多层repeater,datagrid,datalist嵌套的示例

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

常常在CSDN上看到有网友问如何才能实现Repeater,DataList, DataGrid的嵌套问题,下面给出一个3层嵌套的示例,可以无限级嵌套下去

<ASP:REPEATER id="rpt_catalog" onitemdatabound="rpt_catalog_OnItemDataBound" runat="server">

<ITEMTEMPLATE>最顶层repeater,index:<%#Container.DataItem%><BR>

<ASP:REPEATER id="rpt_board" onitemdatabound="rpt_board_OnItemDataBound" runat="server">

<ITEMTEMPLATE>&nbsp;&nbsp;&nbsp;&nbsp;第2层repeater,index:<%#Container.DataItem%><BR>

<ASP:REPEATER id="rpt_boardmaster" runat="server">

<ITEMTEMPLATE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第3层repeater,index:<%#Container.DataItem%><BR>

</ITEMTEMPLATE>

</ASP:REPEATER>

</ITEMTEMPLATE>

</ASP:REPEATER>

</ITEMTEMPLATE>

</ASP:REPEATER>

Private intFirst As Integer

Private intSecond As Integer

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'Put user code to initialize the page here

Dim al As New ArrayList

al.Add(0)

al.Add(1)

rpt_catalog.DataSource = al

rpt_catalog.DataBind()

End Sub

Sub rpt_catalog_OnItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)

Dim rpt As Repeater

rpt = e.Item.FindControl("rpt_board")

intFirst = e.Item.ItemIndex

Dim al As New ArrayList

al.Add(intFirst & ".0")

al.Add(intFirst & ".1")

rpt.DataSource = al

rpt.DataBind()

End Sub

Sub rpt_board_OnItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)

Dim rpt As Repeater

rpt = e.Item.FindControl("rpt_boardmaster")

intSecond = e.Item.ItemIndex

Dim al As New ArrayList

al.Add(intFirst & "." & intSecond & ".0")

al.Add(intFirst & "." & intSecond & ".1")

rpt.DataSource = al

rpt.DataBind()

End Sub

代码经过测试,但请自行优化

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航