Проблема с вложенностью

stbstb
отредактировано 16:46 Раздел: FastReport 4.0
Здравствуйте.
Я совсем новичок в работе с этой программой, не кидайте тапками за костыльные примеры ниже, лучше расскажите, как сделать правильно.
Возникла необходимость создать отчет:

Группировка по дате записи
-->Группировка по состоянию поля-флага 1 или 0 среди записей, отобранных по дате

Изображение структуры https://i.imgur.com/YV30kdv.png
В чем проблема: нельзя напрямую запросить из базы данных данные, есть жестко заданный dataset и с ним предполагается работать. Признак 0 или 1 имеет тип Word, почему-то GroupHeader обходит его целиком, не группируя, получается как если бы я просто выводил данные бэндом. Данные в наборе не отсортированы ни по дате, ни по признаку.
Первоначально была задача группировать записи только по признаку, при этом в зависимости отналичия или отсутствия записей с тем или иным признаком должен был выводиться разный текст в заголовке данных перед списками эту задачу я решил созданием 4 пустых бендов, которые по событию занимались подготовкой данных:
Первый считал сколько есть записей с тем или иным признаком.
Второй бенд редактировал текст по итогу. Соответственно, было три варианта: Есть только 0, Есть только 1 и Есть и 0 и 1.
Третий бенд выводил только записи с признаком 0 и был невидим, если таких записей нет. Бенд содержит subreport, где и проходит печать самого заголовка и списка.
Четвертый бенд аналогично третьему, но для признака 1.

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

В моём понимании было, что groupheader как-то ограничивает данные для следующего за ним бенда по указанному признаку группировки, на деле этого не происходит.
Подскажите, пожалуйста, что делать?

Комментарии

  • gpigpi
    отредактировано 16:46
    Для группировки данные должны быть отсортированы. Иначе GroupHeader не будет работать корректно.
    В Вашем случае нужно переносить данные из датасета в массив, сортировать, а затем выводить данные отсортированного массива

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.