Вложенное Gridview в элементе управления повторителем
Вопрос
У меня есть элемент управления GridView, вложенный в элемент управления повторителем.
Управление повторителем связано с данными на pageload и в событии itemdatabound Я ищу управление Gridview
Если e.Item.ItemType = ListItemType.Item Тогда Dim gvw как GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() Конец Если
После всего этого на моей странице отображаются данные управления ретранслятором и данные в gridview, но проблема заключается в том, что только альтернативные gridview имеют данные т.е.ряд 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>
опять же, приведенная выше разметка является всего лишь примером, и она завершена
Я думаю, что делаю что-то серьезное неправильно.
Решение
В вашем коде
If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If
вам следует добавить предложение «ИЛИ», чтобы проверить, является ли ItemType альтернативным элементом.
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