Работа с GridState (класс настройки отображения таблиц)
GridState – класс, который содержит в себе настройки отображения таблицы в веб-части ELMA. Основные свойства данного класса:
Название |
Тип |
Описание |
PageSize |
int |
Количество отображаемых записей на странице |
CurrentPage |
int |
Текущая страница в таблице |
SortExpression |
string |
Выражение для сортировки |
SortDirection |
ListSortDirection |
Направление сортировки (по возрастанию, по убыванию) |
ColumnStates |
GridStateSet |
Список колонок + флаг их видимости. Каждая колонка описывается классом ColumnState |
AvailableColumns |
List<SelectListItem> |
Доступные для отображения колонки |
SelectedColumns
|
List<SelectListItem> |
Выбранные для отображения колонки |
Создание состояния таблицы в сценариях
Для работы с классом нужно добавить пространство имен:
1 | using EleWise.ELMA.Web.Mvc.Models.Grids |
Для создания состояния с «нуля» есть специальный статический метод класса GridState. В качестве параметров передается уникальное имя таблицы и тип, который будет отображаться в таблице. Метод на выходе выдаст готовое состояние таблицы.
1 | var gridState = GridState.CreateNew( string .Format( "Folder_{0}" , model.Entity.Uid), typeof (IDmsObject)); |
Если мы хотим поменять список выбранных колонок, то делается это следующим образом: нужно пройти по ColumnStates и в нужной колонке установить свойство Hidden в соответствующее значение (если true, то колонка скрыта, если false, то колонка отображается в таблице). Для смены порядка отображаемых колонок нужно правильно устанавливать свойство Order класса ColumnState. Сортировка выбранных колонок происходит по этому свойству в порядке возрастания.
Для установки сортировки по умолчанию используются свойства SortExpression и SortDirection.
1 2 | gridState.SortExpression = "Name" ; gridState.SortDirection = ListSortDirection.Descending; |