Vista de cuadrícula anidada en control repetidor
Pregunta
Tengo un control gridview anidado dentro de un control repetidor.
El control del repetidor está enlazado a datos en la carga de página y en el evento itemdatabound Busco el control de gridview
Si e.Item.ItemType = ListItemType.Item Entonces Dim gvw As GridView = DirectCast (e.Item.Controls (3), GridView) gvw.DataSource = GetData () gvw.DataBind () Fin si
Después de todo esto, mi página muestra los datos de los controles del repetidor y datos en la vista de cuadrícula, pero el problema es que solo las vistas de cuadrícula alternativas tienen datos es decir, la fila 1, 3, 5 ... en el control del repetidor tiene una cuadrícula que está vinculada a datos pero las filas 2, 4, 6 ... no muestran datos
marcado es - solo un ejemplo
<repeater>
<itemtemplate>
<table>
<tr>
<td>
<gridview />
</td>
</tr>
<label Text='<%# Eval("some_data") %>'
</table>
</itemtemplate>
</repeater>
<=>
<=>
<=>
<=>
nuevamente el marcado anterior es solo un ejemplo y está completo
Creo que estoy haciendo algo muy mal.
Solución
En tu código
If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If
debe agregar un " O " cláusula para verificar si el ItemType es también un AlternateItem
If e.Item.ItemType = ListItemType.Item OR e.Item.ItemType = ListItemType.AlternateItem Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If