Как использовать PagedDataSource.CopyTo (или иным образом работать с теми же данными, которые я отправляю своему репитеру) - PullRequest
0 голосов
/ 11 ноября 2009

Я заполняю Repeater с помощью PagedDataSource, и после того, как я заполняю этот Repeater, я хочу выполнить некоторые другие операции над подмножеством данных, которое составляет страницу, которую я отправляю Repeater (мой CurrentPageIndex, PageSize = 10 ).

Итак, мой вопрос, как получить эти 10 записей?

Из обзора MSDN похоже, что я должен быть в состоянии использовать PagedDataSource.CopyTo для копирования этого в массив System.Array, но мне кажется, что «Индекс находился за пределами массива». (Я не уверен, как мне нужно устанавливать границы массива из PagedDataSource.)

В качестве альтернативы, я был бы рад, если бы я мог получить эти записи в SqlDataReader или любым другим способом, чтобы прочитать их и делать с ними больше, чем просто показывать в моем репитере (опять же, просматривая записи с этой страницы, которые я установить в качестве источника данных на моем репитере)

Или я поступаю неправильно, и есть ли способ вытащить их обратно из повторителя?

Спасибо!

1 Ответ

0 голосов
/ 12 ноября 2009

Возможно, Kludgey, но я обнаружил, что, оглядываясь на Повторитель, я могу извлечь вещи из элементов управления Label, которые я установил в шаблоне, с помощью FindControl, например:

Dim tmpLabel As New Label
Dim tmpItem As RepeaterItem
Dim tmpIDOut As String = ""

For Each tmpItem In Repeater1.Items

    tmpLabel = tmpItem.FindControl("IDLabel")
    tmpIDOut = tmpIDOut & "<BR />" & tmpLabel.Text

Next
...