Masterdata и Child

отредактировано 19:23 Раздел: FastReport VCL
Добрый день. Есть проблема, никак не могу найти решение:

Структура отчёта имеет следующий вид:

*ReportTitle*
*Child1*
*MasterData*
*Child2*

MasterData.Child := Child2;

Проблема в том, что если dataset пустой, то Child2 не показывается совсем.
Если установить
Child1.Child := Child2;
, то в этом случае нарушается порядок - MasterData выводится последним.

Подскажите, как правильно настроить отчёт.

Комментарии

  • gpigpi
    отредактировано 19:23
    Добавьте MasterData2 с содержимым Child2. Установите MasterData2.RowCount = 1
    В MasterData1.OnBeforePrint пропишите MasterData2.Visible := False
  • отредактировано 19:23
    Спасибо, попробую
  • отредактировано 19:23
    gpi написал: »
    Добавьте MasterData2 с содержимым Child2. Установите MasterData2.RowCount = 1
    В MasterData1.OnBeforePrint пропишите MasterData2.Visible := False
    Не помогло. Более того, в случае пустого MasterData не выводится даже Footer.
  • gpigpi
    отредактировано 19:23
    Отправляйте текущий шаблон отчёта на support@fast-report.com
  • отредактировано 19:23
    Есть несколько решений:
    1) На уровне приложения проверять, пустой ли DataSet, если да, то делать TfrxMasterData(frxReport1.FindComponent('MasterData1')).RowCount := 1
    2) Добавить Header и Footer, для Footer прикрепить Child = Child3 (содержимое такое же, как в Child2). В MasterData1 будут какие-то Memo, в них разместить onBeforePrint - скрывать Child3. Суть в том, что если DataSet пустой, то Memo не создадутся и, соответственно, OnBeforePrint не вызовется
    3) Использовать вложенные отчёты.
  • отредактировано 19:23
    Проблема решилась размещением ещё одного MasterData с RowCount := 1 (и нулевой высотой)
    А всё, что ниже должно выводиться (содержимое Child2) размещается в Footer.
    Всем спасибо!

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

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