Question

J'ai un contrôle gridview imbriqué dans un contrôle de répéteur.

Le contrôle repeater est lié à la donnée sur pageload et dans l'événement itemdatabound. Je cherche le contrôle gridview

Si e.Item.ItemType = ListItemType.Item Then     Dim gvw As GridView = DirectCast (e.Item.Controls (3), GridView)     gvw.DataSource = GetData ()     gvw.DataBind () Fin si

Après tout cela, ma page affiche les données du contrôle du répéteur. et les données dans la grille, mais le problème est que les autres vues de grille ont des données c'est-à-dire que les rangées 1, 3, 5 ... du contrôle de répéteur ont une grille liée aux données mais les lignes 2, 4, 6 ... n'affichent pas les données

le balisage est - juste un exemple

<repeater>
<itemtemplate>
<table>
<tr>
<td>
<gridview />
</td>
</tr>
<label Text='<%# Eval("some_data") %>'
</table>
</itemtemplate>
</repeater>
<=>
<=>
<=>
<=>

encore une fois le balisage ci-dessus est juste un exemple et il est complet

Je pense que je fais quelque chose de très grave.

Était-ce utile?

La solution

Dans votre code

If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If

vous devez ajouter un " OU " clause permettant de vérifier si ItemType est également 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top