1

リピーター コントロール内にネストされた 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>
<tr>
<td>
<label Text='<%# Eval("some_data") %>'
</td>
</tr>
</table>
</itemtemplate>
</repeater>

繰り返しますが、上記のマークアップは単なる例であり、完全です

私は何か重大な間違いをしていると思います。

4

1 に答える 1

3

あなたのコードで

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

「OR」句を追加して、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
于 2009-03-09T05:00:07.777 に答える