Repeaterコントロールのネストされたグリッドビュー
質問
リピーターコントロール内にネストされたgridviewコントロールがあります。
リピーターコントロールは、ページロードおよびitemdataboundイベントでデータバインドされます gridviewコントロールを探します
If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3)、GridView) gvw.DataSource = GetData() gvw.DataBind() End If
これがすべて起こった後、私のページにはリピーターコントロールデータが表示されます およびデータはグリッドビューにありますが、問題は代替グリッドビューのみにデータがあることです つまり、リピーターコントロールの行1、3、5 ...にはデータバインドされたグリッドがあります しかし、行2、4、6 ...はデータを表示しません
マークアップは-単なる例です
<repeater>
<itemtemplate>
<table>
<tr>
<td>
<gridview />
</td>
</tr>
<label Text='<%# Eval("some_data") %>'
</table>
</itemtemplate>
</repeater>
<=>
<=>
<=>
<=>
再び上記のマークアップは単なる例であり、完全です
私は何か重大な間違いをしていると思います。
解決
コード内
If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If
<!> quot; OR <!> quot;を追加する必要があります。 ItemTypeも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