Группировка с использованием кросс-элементов, создание независимых таблиц
Добавлено: 24 июл 2026, 19:34
Добрый вечер.
Необходимо реализовать структуру отчета, в которой данные разделяются на несколько изолированных последовательных таблиц на основе вертикальной группировки (Поле А), а внутри каждой таблицы количество колонок строится динамически на основе горизонтальной группировки (Поле Б).
На данный момент отчет имеет такую структуру:
1. GroupHeaderBand группирует по полю А, должен разбивать отчет на отдельные независимые таблицы, Databand (привязан к основному источнику данных, выводит данные вертикально по группам);
2. CrossGroupHeaderBand группирует по полю B и выводит группы в качестве динамических колонок (кол-во групп = кол-во колонок), CrossDataBand (должен выводить ячейки с данными по группам (поле Б)).
Без добавления кросс-элементов вертикальная группировка по Полю А работает корректно и создает верное количество изолированных таблиц. Однако, как только на страницу добавляются CrossGroupHeaderBand и CrossDataBand, вертикальная группировка ломается: Stimulsoft формирует лишь одну общую таблицу, в которую горизонтальный бэнд выводит сразу все группы по Полю Б из всего массива данных, игнорируя группировку по Полю А.
На приложенном скриншоте изображен макет того, как визуально должны выглядеть таблицы после формирования (каждая группа по Полю А - это отдельный изолированный печатный блок со своей динамической шапкой по Полю Б).
Если у вас есть примеры подобных группировок, литература, любая другая полезная информация - прошу прикрепить к ответу. Заранее спасибо!
Необходимо реализовать структуру отчета, в которой данные разделяются на несколько изолированных последовательных таблиц на основе вертикальной группировки (Поле А), а внутри каждой таблицы количество колонок строится динамически на основе горизонтальной группировки (Поле Б).
На данный момент отчет имеет такую структуру:
1. GroupHeaderBand группирует по полю А, должен разбивать отчет на отдельные независимые таблицы, Databand (привязан к основному источнику данных, выводит данные вертикально по группам);
2. CrossGroupHeaderBand группирует по полю B и выводит группы в качестве динамических колонок (кол-во групп = кол-во колонок), CrossDataBand (должен выводить ячейки с данными по группам (поле Б)).
Без добавления кросс-элементов вертикальная группировка по Полю А работает корректно и создает верное количество изолированных таблиц. Однако, как только на страницу добавляются CrossGroupHeaderBand и CrossDataBand, вертикальная группировка ломается: Stimulsoft формирует лишь одну общую таблицу, в которую горизонтальный бэнд выводит сразу все группы по Полю Б из всего массива данных, игнорируя группировку по Полю А.
На приложенном скриншоте изображен макет того, как визуально должны выглядеть таблицы после формирования (каждая группа по Полю А - это отдельный изолированный печатный блок со своей динамической шапкой по Полю Б).
Если у вас есть примеры подобных группировок, литература, любая другая полезная информация - прошу прикрепить к ответу. Заранее спасибо!