Вложенное Gridview в элементе управления повторителем

StackOverflow https://stackoverflow.com/questions/625059

Вопрос

У меня есть элемент управления 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top