2009-10-18 2 views
2

Я хочу реализовать пейджинг в Repeater через JQuery. Возможно ли это? Если да, то как я это достигаю?Пейджинг с JQuery в ASP.NET

+0

Может ли кто-нибудь попытаться объяснить концепцию того, как это может быть достигнуто вместо того, чтобы просто придумать плагин? –

ответ

2

tablesorter pager plugin довольно милый и хорошо работает с функцией сортировки таблиц.

+0

Это интересная ссылка, но я не уверен, что TableSorter можно использовать как ретранслятор? Функцию повторителя можно увидеть на клиентской стороне по адресу http: // encosia.com/2008/06/26/use-jquery-and-aspnet-ajax-to-build-a-client-side-repeater/ –

0

Если вы хотите загрузить сразу все страницы, попробуйте this plugin.

0

На стороне сервера вы должны изменить «viewmodel» - возвращенные записи из базы данных вместе с дополнительной информацией: так, чтобы она включала еще три переменные: currentPage rowsPerPage и totalRows для запроса.

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

Затем вам нужно сделать paginating «webcontrol» или вручную запустить все части самостоятельно с помощью кода javascript/jquery. элемент управления разбиением на страницы, как правило, имеет предыдущую страницу (< <) и кнопку Next-Page (>>) a Общее количество записей и номеров следующих страниц или текстовое поле CurrentPage с выпадающим списком на выбор.

Если вы находитесь на последней странице, то NextPage отключен. То же самое для PreviousPage, если вы находитесь на первой странице. Обычно текущий номер страницы как-то помечен (окрашен или выделен жирным шрифтом).

Количество строк на странице обычно может быть задано пользователем, возможно, с некоторыми параметрами в раскрывающемся списке. Эта функция обычно может быть скрыта или доступна только для чтения.

После изменения страницы текущий номер страницы (1 на основе) изменен, не проходя последний или первый ... и показывая строки для этой страницы. Математика для этого есть:

firstRowOnCurrentPage = (currentPage - 1) * rowsPerPage; 

последняя строка в большинстве:

maxLastRowOnCurrentPage = firstRowOnCurrentPage + (rowsPerPage - 1) // if there are enough records, or the remaining records for the last page. 

Записи извлекаются с помощью сохраненного вызова процедуры SQL в AJAX (на странице WebService у вас есть GetWhatever (т.е. GetProducts или в NancyFX это будет просто/модуль продуктов, и в MVC контроллер а/Продукты ...), который вызывает базу данных и извлекает только то, что количество записей. Ваш ретранслятор автоматически повторяет.

See here for an MS SQL example или here for a PHP and mySQL example.

Для ретранслятора на стороне клиента с поисковым вызовом (т. вызывает базу данных один раз, а затем дает результат в объект «модель базы данных», весь пейджинг с этими данными, второй вызов базы данных), который вы связываете с локальным массивом.

Последнее, но не менее важное: для клиентской стороны вам необходимо позаботиться о обновлении измененных и удаленных данных или обновлении с помощью набора обновлений/обновления.

+0

Рабочий пример, хорошо объясненный, можно найти здесь, в AspSnippents: http: //www.aspsnippets .com/Статьи/Реализовать-пейджинг-в-Repeater-управления-в-ASPNet.aspx – pashute

 Смежные вопросы

  • Нет связанных вопросов^_^