Заполнение пустыми полями свободного места

отредактировано March 2013 Раздел: FastReport 4.0
Здравствуйте!
Подскажите можно ли реализовать следующее:
Страница отчёта разбита на 3 колонки, в каждой находится Column Header, Group Header и Master Data.
Как сделать чтобы после вывода в каждую колонку оставшееся свободное место автоматически заполнялось пустыми полями c рамкой таблицы?

http://s1.ipicture.ru/uploads/20130329/9L7YYX5o.png

Комментарии

  • отредактировано 07:39
    Постройте запрос таким образом, чтобы три датасета слить в один. Тогда можно будет не использовать SubReport, а вывести всё одним махом и количество строк будет равно максимальному.
  • отредактировано 07:39
    Можно и по-другому.
    Делаете 2 MasterData. В первом - данные, во втором - точно такие же поля, но пустые.
    Далее перед печатью второго MasterData (я делал в GroupHeader2.OnAfterCalcHeight) пишем скрипт:
    MasterData2.RowCount :=Round(abs((Engine.FreeSpace - 20) div Memo2.Height));
    где Memo2 находится в MasterData2 и занимает всю высоту.

    Смысл такой: когда все данные из первого MasterData напечатаны, то необходимо вычислить оставшееся место и разделить его на высоту.
    С несколькими колонками не пробовал.
    Если не разберётесь, могу прислать fr3 для примера.
  • отредактировано 07:39
    Можно в конце (например после отрисовки footer'а) необходимое количество раз повторить вывод некоторого бэнда ClonedBand с, например, пустой рамкой
       Engine.ShowBand(ClonedBand);
    

    каждый раз проверяя, сколько еще места осталось, чтобы случайно вывод на следующую страницу не перескочил (ну, или просто сразу посчитать как Count=СвободноеМесто/ВысотаБэнда)

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

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