Цикл статей «Документация jqGrid на русском».
Следующая статья — «Методы и свойства сводной таблицы в jqGrid».
Предыдущая статья — «Группировка заголовков столбцов в jqGrid».
Что такое сводная таблица?
В интернете можно найти множество определений. Наиболее подробное описание в Википедии.
Сводная таблица — программный инструмент, позволяющий реорганизовывать и суммировать колонки и строки в таблице для получения желаемого отчёта. Сводная таблица не меняет саму базу данных. Сводная таблица позволяет просматривать представление данных в разных перспективах.
Что такое jqPivotGrid?
jqPivotGrid — это компонент, который вы можете использовать вместе с jqGrid для создания сводной таблицы.
Предположим, что мы имеем таблицу с некоторыми данными в следующих полях: название продукта, категория, страна, цена и количество. Если вы хотите редактировать, фильтровать и удалять данные, то можно легко использовать возможности jqGrid.
Что бы вы делали, если бы вам понадобилось ответить на следующие вопросы:
- Какова сумма всех заказов в каждой категории?
- Какова сумма заказов для каждой страны?
- Какова сумма заказов и количество для каждой категории и продукта в конкретной стране и их общая сумма?
Вы можете использовать jqPivotGrid для создания этих отчётов.
Использование jqPivotGrid
jqPivotGrid наследуется от jqGrid, поэтому вы можете использовать большую часть возможностей, с которыми вы уже знакомы: изменение размера колонок, форматирование, отрисовка ячеек, события строк/ячеек и другие.
jqPivotGrid может использоваться в случае, когда вы хотите получить подведение итогов и возможности сводной таблицы, которые не предоставлены jqGrid.
Чтобы разделить данные на категории и страны, вам нужно настроить измерения x и y:
1 2 3 4 5 6 |
xDimension : [{ dataName: 'CategoryName' }], yDimension : [ { dataName: 'Country' }] |
Множественные уровни поддерживаются, так что вы можете указать их в измерениях x и y.
Группировка строк и/или колонок делается автоматически, когда два или более уровня установлены в xDimension и/или yDimension.
Вы разделили данные на измерения x и y, теперь вы можете агрегировать значения ячеек. Есть несколько способов агрегации включая: sum, min, max, count и другие. Будущие реализации будут предоставлять возможность задания пользовательской функции агрегирования.
1 2 3 4 5 6 7 8 9 10 11 |
aggregates : [{ member : 'Price', aggregator : 'sum', width:50, label:'Sum' },{ member : 'Quantity', aggregator : 'count', width:50, label: 'Count' }] |
Как уже говорилось, вы можете использовать множественную агрегацию данных,например "Price" и "Quantity" .
Можно легко настроить отображение общего итога для строк/столбцов
(
rowTotals: true или
colTotals: true). Итоги групп также доступны с помощью rowTotals и colTotals.
Сводная таблица использует JSON-данные в качестве источника данных. В будущем будет добавлена поддержка любого источника данных.
Цикл статей «Документация jqGrid на русском».
Следующая статья — «Методы и свойства сводной таблицы в jqGrid».
Предыдущая статья — «Группировка заголовков столбцов в jqGrid».