Методы и свойства сводной таблицы в jqGrid

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Пример сводной таблицы (Pivot Table) в jqGrid».
Предыдущая статья — «Сводная таблица (Pivot table) в jqGrid».

Методы

jqPivot
jqPivotGrid имеет следующий синтаксис вызова:

Где

#grid — это id элемента table, так же как было в jqGrid.
data
— может быть строкой или массивом данных, передаваемых в сводную таблицу. В случае когда параметр является строкой, отправляется AJAX-запрос. Возвращаемые сервером данные должны быть в виде пар ключ—значение:

Имя свойства "rows" может быть настроено в ajaxoptions. Смотрите ниже.

В случае когда передаётся массив, свойство rows должно быть опущено, и данные должны выглядеть так:

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

pivotoptions

Это объект со следующими свойствами:

Свойство: aggregates
Тип: массив объектов
Определяет агрерации записей и строит сводную таблицу. Массив должен иметь как минимум один объект и всегда должен быть определён. Если aggregates не указан, то сводная таблица не будет построена. Все свойства из colModel могут быть установлены. Список допустимых свойств указан ниже.
По умолчанию: пусто

Свойство: colTotals
Тип: boolean
Если установлено в true, то добавляется дополнительная строка внизу. Все поля сводной таблицы будут иметь итоги. Применяется только функция суммирования.
По умолчанию: false

Свойство: frozenStaticCols
Тип: boolean
Если установлено в true, то все поля, объявленные в xDimension (смотрите ниже), будут заблокированы от горизонтальной прокрутки.
По умолчанию: false

Свойство: groupSummary
Тип: boolean
С этим свойством будет происходить суммирование групп и подгрупп, если они есть. Если установлено в false, то суммирования не будет.
По умолчанию: true

Свойство: groupSummaryPos
Тип: string
Определяет позицию строки итогов. Возможные значения: 'header' (над строкой) и 'footer' (под строкой).
По умолчанию: 'header'

Свойство: rowTotals
Тип: boolean
Если установлено в true, то добавляется дополнительная колонка, которая содержит сумму (итоги) всех ячеек в строке.
По умолчанию: false

Свойство: rowTotalsText
Тип: string
Устанавливает надпись колонки для rowTotals, если rowTotals установлено в true.
По умолчанию: "Total"

Свойство: xDimension
Тип: массив объектов
Определяет xDimension для таблицы. Эти значения являются ячейками из исходных данных, которые появляются как строки в таблице. Если указано более одного элемента, то автоматически появляется группировка. Иерархия начинается от первого элемента. Последний элемент — последний элемент группировки. Все свойства из colModel могут быть использованы. Смотрите ниже, чтобы узнать другие свойства.
По умолчанию: пусто

Свойство: yDimension
Тип: массив объектов
Определяет yDimension для таблицы. Значения создаются автоматически в зависимости от данных. Если указано более одного элемента, то автоматически появляется группировка заголовков. Иерархия начинается от первого объекта. Последний элемент — последний элемент группировки заголовков. Смотрите ниже, чтобы узнать другие свойства.
По умолчанию: пусто

Сводная таблица может быть построена, только если xDimension и aggregates не пусты.

aggregates

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

member — имя или идентификатор, используемый для определения позиции элемента и описания в измерении. Значение должно существовать в исходных данных.

aggregator определяет применяемое действия. На текущий момент поддерживаются:

  • sum — суммирует значения
  • count — подсчитывает количество элементов в группе.
  • min — ищет минимальное значение
  • max — ищет максимальное значение

Свойство label появляется только в том случае, если длина aggregates больше единицы. В этом случае добавляется дополнительный заголовок группы, который суммирует с aggregators. Надпись берётся из данных.

Все свойства colModel могут быть найдены здесь.

xDimension

Как описано здесь, измерение — это данные, собранные из индивидуальных, не перекрывающихся элементов. Основные функции измерения: обеспечение фильтрации, группировки, подписывания.
Пример:

dataName — это ячейка из данных, которая появляется в строке. Значение этого свойства должно соответствовать имени из исходных данных.

Все свойства colModel могут быть найдены здесь.

Если свойство frozenStaticCols установлено в true, то свойство frozen устанавливается автоматически. Вы можете переопределить это с помощью frozen:false в объекте, но будьте осторожны с порядком колонок.

yDimension

Значения динамически создают колонки в зависимости от исходных данных.
Пример:

Возможные свойства:
dataName
— имя ячейки из данных для колонки. Это значение должно соответствовать имени из исходных данных.
converter — функция, которая преобразует исходные данные ячейки и возвращает новое значение. В эту функцию передаются следующие параметры:

  • Value — значение
  • xValues — «статические» данные из строки.

gridoptions

Это свойства таблицы.

ajaxoptions

Дополнительно при получении данных с помощью AJAX-запроса можно указать дополнительные свойства AJAX.

На текущий момент поддерживаются только JSON-данные, поэтому некоторые свойства, вроде dataType, не рекомендуется менять. Вместе с этим мы имеем свойство reader, которое определяет корень данных. Например, если данные возвращаются с сервере в следующей структуре:

То настройка может выглядеть так:

 

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Пример сводной таблицы (Pivot Table) в jqGrid».
Предыдущая статья — «Сводная таблица (Pivot table) в jqGrid».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *