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.

¿Fue útil?

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top