2009-03-09 8 views
1

Ich habe eine Gridview-Steuerelement in einem Repeater-Steuerelement geschachtelt.Verschachtelte Gridview in Repeater-Steuerelement


Der Repeater Steuerung auf Pageload und im ItemDataBound Ereignis datengebundene Ich suche die gridview Steuerung

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

Nach all dem passiert, meine Seite wird der Repeater steuert die Daten und Anzeigen von Daten i n die Grid aber das Problem ist nur abwechselnde Gridviews haben Daten dh Zeile 1, 3, 5 ... in Repeatersteuergitter aufweist, ist Databound 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>

wieder das obige Markup ist nur ein Beispiel und es ist komplett

Ich denke, ich mache etwas ernsthaft falsch.

Antwort

2

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 

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

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 
+0

Thank you so much ... Sie Rock I‘ m wirklich töricht, den alternativen Artikel Tatsache zu ignorieren Dank eine Tonne – user75480

+0

Manchmal sind die schlimmsten Fehler am einfachsten zu beheben. Deshalb hilft immer ein zweites Augenpaar! Prost! –