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 класс для блока пропуска в длинных списках страниц |
Пользовательские настройки
Следует обратить внимание на то, что при указании несуществующего номера страницы и попытке перехода к нему, будет осуществлен переход к первой странице списка.