ICSSoft.STORMNET.Web.AjaxControls.Pager - класс контрола для отображения постраничного перехода для произвольного набора данных. Для корректной работы необходимо только задание полного числа страниц для отображения.

Контрол наследуется от базового веб-контрола BaseWebControl.

Подключение

Контрол автоматически подключает все необходимые для его работы скрипты. В частности, jquery.icsPager.js, а также скрипты базового веб-контрола.

Интерфейс

Методы

Сигнатура Описание
AddPageToContainer() Добавляет в контейнер нужный контрол для отображения индекса страницы
GenerateCurrentPage() Метод для генерации внутренней структуры текущей страницы. Генерация и создание контрола находятся в разных методах в связи с тем, что создание контрола происходит до его добавления в коллекцию контролов родителя. В этом случае, на момент генерации будет отсутствовать клиентский идентификатор у поля ввода номера страницы.
GenerateGoToPage() Метод для генерации блока навигации (переход на введённый номер страницы)
GenerateInforamtion() Метод генерации информации о числе страниц и отображаемых элементах. Для формирования строки использует установленный метод для форматирования, если он установлен. В противном случае используется шаблон из ресурсов
GenerateItemsOnPage() Метод генерации блока с выпадающим списком выбора для установки числа элементов, отображаемых на странице
GenerateNavigation() Метод для генерации блока навигации (вперёд-назад)
GeneratePages() Метод для генерации списка страниц
GetCurrentPageControl() Метод для создания контрола, отображающего текущую страницу
GetNavigateUrl() Метод для генерации ссылки для перехода на указанную страницу
GetOtherPageControl() Метод для создания контрола, отображающего другие (не текущую) страницы. Подсказка к кнопке перехода формируется либо через шаблон из ресурсов, либо через установленный в прикладном приложении делегат для формирования
GetPageSeparatorControl() Метод для создания контрола-разделителя между страницами
GetSkipPagesControl() Метод для создания контрола, отображающего пропуски в длинных списках страниц. Пример: 1 2 … 10
OnInit() Переопределенный метод обработчика события инициализации контрола. Инициализирует вспомогательные контролы
OnPreRender() Переопределенный метод обработчика события перед рендерингом контрола. Генерирует структуру контрола. Структура контрола генерируется перед самим рендерингом в связи с тем, что родительским контролом должно быть установлено полное число отображаемых страниц и, при необходимости, номер текущей страницы. В методе нельзя назначать серверные обработчики события, т.к. для корректной обработки события контролы должны быть добавлены в коллекцию страницы раньше
Render() Обработчик события рендеринга контрола. Регистрирует контролы-источники PostBack
SetAvailableItemsOnPageCounts(ReadOnlyCollection<int> counts) Статический метод, который позволяет установить доступные пользователям варианты выбора количества строк на каждой странице. По умолчанию используется коллекция { 5, 10, 15, 20, 30, 50, 100, 200 }.

Свойства

Наименование Тип Описание
CurrentPage int Свойство для получения номера текущей выбранной страницы
DisplayInformation bool Отображать блок информации о числе страниц и элементов или нет
DisplayNavigation bool Отображать блок навигации или нет
DisplayPages bool Отображать список страниц или нет
EnableGoToPage bool Отображать блок для перехода на введённый номер страницы или нет
EnableItemsOnPage bool Отображать блок выбора числа элементов на странице или нет
FirstPages int Минимальное число страниц, отображаемое в начале списка страниц
FirstPagesWithoutSkipping int Число страниц, отображаемое без пропусков, если текущая страница в начале списка
GoToPageLabelText string Текст подписи для перехода на введённый номер страницы
HideOnNoData bool Прятать все контейнеры при отсутствии данных
HideOnOnePage bool Прятать все контейнеры если только одна страница с данными
ItemsOnPage int Свойство для получения числа отображаемых элементов на странице
ItemsOnPageCaptionText string Текст подписи к списку выбора числа элементов на странице
ItemsOnPageSettingsKey string Свойство для получения или установки ключа, однозначно идентифицирующего пейджер для сохранения пользовательских настроек между страницами. По умолчанию определяется через URL страницы и уникальный идентификатор контрола
ItemsCount int Свойство для доступа к полному числу отображаемых элементов
InlineGoToPage bool Добавлять для текущей страницы поле ввода для быстрого перехода к введённой странице или нет
PagesCount int Полное число отображаемых страниц
LastPages int Минимальное число страниц, отображаемое в конце списка страниц
LastPagesWithoutSkipping int Число страниц, отображаемое без пропусков, если текущая страница в конце списка
NavigationBackText string Текст кнопки навигации для перехода на предыдущую страницу
NavigationForwardText string Текст кнопки навигации для перехода на следующую страницу
NavigationSeparatorText string Текст разделителя между кнопками навигации
PagesSkipText string Текст блока пропуска в длинных списках страниц
PageSeparatorText string Текст разделителя между страницами
PagesWithoutSkipping int Максимальное число страниц, при котором не отображаются блоки пропуска
Sequence IEnumerable < PagerContainerType > Последовательность контейнеров пейджера

Настройка внешнего вида контрола

CSS Описание
ContainerCssClass CSS класс для контейнеров пейджера
CurrentPageCssClass CSS класс для текущей страницы
GoToPageCssClass CSS класс контейнера блока для перехода на введённый номер страницы
GoToPageInputCssClass CSS класс поля ввода перехода на введённый номер страницы
GoToPageLabelCssClass CSS класс подписи для перехода на введённый номер страницы
InformationContainerCssClass CSS класс контейнера блока информации о числе страниц и отображаемых элементах
InlineGoToPageCssClass CSS класс для текущей страницы с полем ввода для быстрого перехода к введённой странице
InlineGoToPageInputCssClass CSS класс поля ввода для быстрого перехода к введённой странице
ItemsOnPageCaptionCssClass CSS класс для подписи к списку выбора числа элементов на странице
ItemsOnPageContainerCssClass CSS класс контейнера для блока выбора числа элементов на странице
ItemsOnPageListCssClass CSS класс для списка выбора числа элементов на странице
NavigationButtonBackCssClass CSS класс кнопки навигации для перехода на предыдущую страницу
NavigationButtonCssClass Общий CSS класс кнопок навигации
NavigationButtonDisabledCssClass CSS класс отключённой кнопки навигации (когда переход невозможен)
NavigationButtonEnabledCssClass CSS класс включённой кнопки навигации (когда переход возможен)
NavigationButtonForwardCssClass CSS класс кнопки навигации для перехода на следующую страницу
NavigationContainerCssClass CSS класс базового контейнера блока навигации
NavigationSeparatorCssClass CSS класс разделителя между кнопками навигации
PageCssClass Общий CSS класс для всех страниц
PagesContainerCssClass CSS класс для контейнера с списком страниц
PagesSkipCssClass CSS класс для блока пропуска в длинных списках страниц

Пользовательские настройки

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