Frage

Ich habe ein Gridview-Steuerelement in einem Repeater-Steuerelement geschachtelt.


Die Repeater Steuerung auf Pageload und im ItemDataBound Ereignisse datengebundene Ich sehe für das Gridview-Steuerelement

Wenn e.Item.ItemType = ListItemType.Item Dann     Dim GVW Wie Grid = Direct (e.Item.Controls (3), Grid)     gvw.DataSource = GetData ()     gvw.DataBind () End If

Nach all dies geschieht, meine Seite angezeigt wird der Repeater steuert die Daten und Daten im Gridview aber das Problem ist nur alternativer Gridviews haben Daten d.h. Zeile 1, 3, 5 ... in Repeaters Steuerung hat Raster, das Databound ist aber die Zeilen 2, 4, 6 ... keine Daten angezeigt werden

Markup ist - nur ein Beispiel

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

erneut die obige Markup ist nur ein Beispiel, und es ist komplett

Ich glaube, ich bin etwas falsch zu tun.

War es hilfreich?

Lösung

In Ihrem 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

Sie sollten eine „OR“ Klausel hinzufügen, um zu überprüfen, ob die ItemType ein AlternateItem auch ist

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top