2012-01-11 2 views
1

У меня есть логическая проблема. Предположим, у меня есть таблица, содержащая 1000 строк. Когда я хочу отображать данные в ретрансляторе, я сначала связываю строки CollectionPager 1000, поэтому CollectionPager знает, сколько страниц будет, и после этого CollectionPager будет моим источником данных повторителей.Asp.Net: Repeater & CollectionPager Index Index Logic

Если я индексирую свою таблицу с использованием свойства Row_Number() и выбираю 10 записей за раз и умножаю их на свой номер_папки, так как он выбирает только 10 записей, его производительность будет хорошей. Но в это время мой пейджер не знает, сколько всего записей есть, и поэтому он не делает пейджинг.

С другой стороны, я не хочу выбирать все 1000 строк?

Что вы предлагаете?

спасибо.

ответ

0

Я бы предложил провести первую и самую первую поездку в базу данных, чтобы узнать количество итоговых записей, которые вы собираетесь получить, вы можете сохранить их в окне просмотра или скрытых полях для последующих обращений к страницам.

Затем вы можете получить 10 записей за одну поездку базы данных, и поэтому вы всегда будете иметь

10 записей из базы данных + Всего записей рассчитывать, что вы можете использовать для пейджера

Таким образом, ваш пейджер всегда знать общее количество записей и, следовательно, будет выполнять подкачку соответственно

+0

Спасибо, Паван, это то, что я пытаюсь сделать сейчас. Я поделюсь с вами результатом как можно скорее. Еще раз спасибо за ваш совет. – enginbilici