Еще одна проблема с заголовками

отредактировано 04:48 Раздел: FastReport 3.0
Ситуация:
есть два master data бэнда один за другим.
Нижний имеет Header (ReprintOnNewPage=True; StartNewPage=False).
Если верхний бэнд заполнит полностью страницу так, что нижнему придется начинать с новой страницы, то у нижнего бэнда заголовок дублируется.

зы: если непонятно объяснил, могу прислать пример.
зыы: версия 3.18.6

Комментарии

  • отредактировано 04:48
    Все понятно, но желателен пример. ;)
  • отредактировано October 2005
    Чуть не забыл мыльте сюда *******@mail.ru ;) (на которое зарегин сдохло) .
  • отредактировано 04:48
    Вы пробовали сделать на 2-х страницах, или нужно на одной ?
  • Andrew_ShAndrew_Sh г.Минск
    отредактировано 04:48
    brunno написал:
    Ситуация:
    есть два master data бэнда один за другим.
    Нижний имеет Header (ReprintOnNewPage=True; StartNewPage=False).
    Если верхний бэнд заполнит полностью страницу так, что нижнему придется начинать с новой страницы, то у нижнего бэнда заголовок дублируется.

    зы: если непонятно объяснил, могу прислать пример.
    зыы: версия 3.18.6
    Смотрю вы все экспериментируете с Header-ом. ;)
    Как и в предыдущем случае это баг. Вероятнее всего, если исправят 1-ую ошибку, то не будет ошибки и в данном случае.
    А лучше воспользуйтесь моим советом и поместите второй MasterData вместе с Header-ом на другой лист. Если надо, чтобы этот лист печатался в продолжние первого, в свойствах листа выставьте "Печатать на предыдущем листе" (PrintOnPreviousPage=true)
  • отредактировано October 2005
    Andrew_Sh написал:
    Смотрю вы все экспериментируете с Header-ом. ;)
    Как и в предыдущем случае это баг. Вероятнее всего, если исправят 1-ую ошибку, то не будет ошибки и в данном случае.
    Если честно, если бы не юзеры, мне мне бы это и в голову не пришло проверять ;) .
    Ту ошибку уже исправили, эта осталась. Ее существование выяснилось только сегодня утром.
    Andrew_Sh написал:
    >Вы пробовали сделать на 2-х страницах, или нужно на одной ?
    >А лучше воспользуйтесь моим советом и поместите второй MasterData вместе с Header-ом на другой лист.

    Вторая станица не подходит, потому что (насколько я понял) page header, который располагается на Page1, не распространяется на Page2 (даже если установить PrintOnPreviousPage=true), а нужно чтобы на всех страницах отчета был один и тот же page header ;)
  • Andrew_ShAndrew_Sh г.Минск
    отредактировано October 2005
    brunno написал:
    brunno написал:
    Смотрю вы все экспериментируете с Header-ом. ;)
    Как и в предыдущем случае это баг. Вероятнее всего, если исправят 1-ую ошибку, то не будет ошибки и в данном случае.
    Если честно, если бы не юзеры, мне мне бы это и в голову не пришло проверять ;) .
    Ту ошибку уже исправили, эта осталась. Ее существование выяснилось только сегодня утром.
    brunno написал:
    >Вы пробовали сделать на 2-х страницах, или нужно на одной ?
    >А лучше воспользуйтесь моим советом и поместите второй MasterData вместе с Header-ом на другой лист.

    Вторая станица не подходит, потому что (насколько я понял) page header, который располагается на Page1, не распространяется на Page2 (даже если установить PrintOnPreviousPage=true), а нужно чтобы на всех страницах отчета был один и тот же page header ;)
    Так я же и предлагал перенести на 2-ой лист второй MasterData вместе с Header-ом. Чем не подходит такой вариант?
    Но в ситуации, приведенной вами
    brunno написал:
    Если верхний бэнд заполнит полностью страницу так, что нижнему придется начинать с новой страницы,
    получится, что Header2 выведется в одиночестве в конце страницы, затем Header2 выведется на следующей странице вместе с MasterData2. Чтобы избежать "висячего" хэдера в OnBeforePrint для Header2 надо поместить код:
    procedure Header2OnBeforePrint(Sender: TfrxComponent);
    begin
      if Engine.FreeSpace < (Header2.Height + MasterData2.Height) 
      then begin
        Engine.NewPage;
        Header2.Visible := false;
      end
      else Header2.Visible := true;
    end;
    

    Какой-никакой, а все-таки вариант решения проблемы.
  • отредактировано 04:48
    Andrew_Sh написал:
    Так я же и предлагал перенести на 2-ой лист второй MasterData вместе с Header-ом. Чем не подходит такой вариант?
    Дело в том, что есть просто Header-это заголовок данных.
    А есть PageHeader - верхний колонтитул страницы.
    Предполагается, что PageHeader - должен быть один и тот же на каждой странице.
    Так вот, если мы сделаем две станицы TfrxReportPage, то на каждой из них нужно будет разместить одинаковый PageHeader, что не есть гут.

    За временное решение - СПАСИБО ;)

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

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