Here's what you can do:
1. Bind your your child/nested
Repeater
at
ItemDataBound
event of your parent
Repeater
:
Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)
If (e.Item.ItemType = ListItemType.Item) OrElse (e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim childRepeater As Repeater = TryCast(e.Item.FindControl("Repeater2"), Repeater)
childRepeater.DataSource = GetDataForInnerRepeater()
childRepeater.DataBind()
End If
End Sub
2. Then on
ItemDataBound
event of your child/inner
Repeater
, you can access your
CheckBoxList
as already suggested:
Protected Sub Repeater2_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)
If (e.Item.ItemType = ListItemType.Item) OrElse (e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim cbl As CheckBoxList = CType(e.Item.FindControl("cblPlaceNames"), CheckBoxList)
cbl.DataTextField = "FieldName"
cbl.DataValueField = "FieldName"
cbl.DataSource = GetYourCheckBoxDataSource()
cbl.DataBind()
End If
End Sub
Alternatively, if your inner
Repeater
is already bounded with data, you can try accessing the
CheckBoxList
at
ItemDataBound
event of your parent
Repeater
like this:
Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)
If (e.Item.ItemType = ListItemType.Item) OrElse (e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim childRepeater As Repeater = CType(e.Item.FindControl("Repeater2"), Repeater)
For Each item As RepeaterItem In childRepeater.Items
If item.ItemType = ListItemType.AlternatingItem OrElse item.ItemType = ListItemType.Item Then
Dim cbl As CheckBoxList = CType(item.FindControl("cblPlaceNames"), CheckBoxList)
cbl.DataTextField = "FieldName"
cbl.DataValueField = "FieldName"
cbl.DataSource = GetYourCheckBoxDataSource()
cbl.DataBind()
End If
Next
End If
End Sub