Куда поместить Мемо

WASWAS
отредактировано 00:45 Раздел: FastReport 2.xx VCL
День добрый всем !!!

Может кто подскажет
В отчете на бенде GroupFooter размещены Memo в таком порядке

Мемо1a; Мемо2a; Мемо3a; Мемо4a; МемоNa;
Мемо1b; Мемо2b; Мемо3b; Мемо4b; МемоNb;
Мемо1c; Мемо2c; Мемо3c; Мемо4c; МемоNc;

Вопрос: как в зависимости от условия отчета (задаются пользователем)
выводить
1. Полный отчет
Мемо1a; Мемо2a; Мемо3a; Мемо4a; МемоNa;
Мемо1b; Мемо2b; Мемо3b; Мемо4b; МемоNb;
Мемо1c; Мемо2c; Мемо3c; Мемо4c; МемоNc;
2. Отчет А
Мемо1a; Мемо2a; Мемо3a; Мемо4a; МемоNa;
3. Отчет B
Мемо1b; Мемо2b; Мемо3b; Мемо4b; МемоNb;

напрашивается 2 варианта
1. По условию (задаются пользователем) необходимые Memo.Visible:=True или Memo.Visible:=True (но вот беда их сильно много)

2. Поместить Мемо на какие-то бенды ????? и потом по условию (задаются пользователем) необходимые BAND.Visible:=True или BAND.Visible:=True

С ПОМОЩЬЮ КАКИХ БЕНДОВ МОЖНО ТАК СДЕЛАТЬ или какие-то другие варианты




Комментарии

  • Andrew_ShAndrew_Sh г.Минск
    отредактировано 00:45
    WAS написал:
    С ПОМОЩЬЮ КАКИХ БЕНДОВ МОЖНО ТАК СДЕЛАТЬ или какие-то другие варианты
    Используйте Child-бенды.

    В вашем случае memo можно разместить следующим образом:
    разместите на странице 1 MasterData-бэнд и 2 Child-бэнда: Child1, Child2

    На MastreData разместите
    Мемо1a; Мемо2a; Мемо3a; Мемо4a; МемоNa;
    Установите следующие свойства для MastreData:
    ChildBand=Child1
    PrintChildIfInvisible=true

    На Child-бэнде Child1 разместите
    Мемо1b; Мемо2b; Мемо3b; Мемо4b; МемоNb;
    Установите следующие свойства для Child1:
    ChildBand=Child2
    PrintChildIfInvisible=true

    На Child-бэнде Child2 разместите
    Мемо1c; Мемо2c; Мемо3c; Мемо4c; МемоNc;

    В обработчиках OnBeforePrint для бэндов задайте условия, при которых бэнды должны отображаться.
  • WASWAS
    отредактировано 00:45
    Хорошо если БЭНД MasterData,
    а если БЭНД GroupFooter или ReportSummary
  • WASWAS
    отредактировано 00:45
    И еще обнаружилось если БЭНД Visible:=False то следующий за ним БЭНД хоть и Visible:=True - НЕ выводится
  • Andrew_ShAndrew_Sh г.Минск
    отредактировано August 2005
    WAS написал:
    Хорошо если БЭНД MasterData,
    а если БЭНД GroupFooter или ReportSummary
    Child-бэнды можно прицепить к любмоу бэнду, где есть свойство ChildBand ;)
    MasterData был выбран всего лишь для примера.
  • Andrew_ShAndrew_Sh г.Минск
    отредактировано 00:45
    WAS написал:
    И еще обнаружилось если БЭНД Visible:=False то следующий за ним  БЭНД хоть и Visible:=True - НЕ выводится
    Если внимательно посмотреть пример, который я приводил выше, то там упоминается чудесное свойство <span style='color:red'>PrintChildIfInvisible</span>. Установить его можно через "Инспектор" или в контекстном меню бэнда отметить пункт "Выводить child если невидимый". <span style='color:red'>При PrintChildIfInvisible=true, если сам бэнд невидимый, его child-бэнд будет выводиться.</span>

  • WASWAS
    отредактировано 00:45
    Спасибо за помощь
    (PrintChildIfInvisible - не заметил сразу)

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

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