Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FastReport. Печать PageFooter после MasterData 
:(
    Опции темы
huminclouds
Дата 2.7.2010, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Как в FastReport 4.9 осуществить корректный вывод PageFooter непосредственно после MasterData?
Пробовал так:
Код

var
  Y: extended;
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
  Y:=Engine.CurY;
end;

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
  Engine.CurY:=Y;
end;


При переносе нескольких строк данных на новую страницу все отображается корректно:
user posted image

Далее... В отчете присутсвуют бэнды: ReportTitle, Header, MasterData, Footer и PageFooter. MasterData.KeepFooter := True, т.е. если Footer переносится на новую страницу, то последняя строка данных, в любом случае, переходит вместе с ним, и вот когда такое происходит, то получается некрасиво
user posted image

Это сообщение отредактировал(а) huminclouds - 4.7.2010, 00:05
PM MAIL   Вверх
pseud
Дата 6.7.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



а я бы заюзал GroupFooter
написана фигня. читать следующий пост.

Это сообщение отредактировал(а) pseud - 7.7.2010, 11:09


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
huminclouds
Дата 6.7.2010, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



pseud, обоснуй, пожалуйста.
PM MAIL   Вверх
pseud
Дата 7.7.2010, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



Цитата(huminclouds @  2.7.2010,  16:17 Найти цитируемый пост)
В отчете присутсвуют бэнды: ReportTitle, Header, MasterData, Footer и PageFooter.

Header и Footer - это кто? и зачем.

Цитата(huminclouds @  6.7.2010,  15:10 Найти цитируемый пост)
pseud, обоснуй, пожалуйста. 

Сходу фигню я написал. Прошу прощения.

Короче мне кажется, что не нужен тебе PageFooter и все пляски с ним.
Похоже с твоей задачей справится ColumnFooter. Он и отображается всегда непосредственно после последнего MasterData на странице.
Проверял на FastReport 4.6

Добавлено @ 11:13
user posted image

user posted image

Это сообщение отредактировал(а) pseud - 7.7.2010, 11:14


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
huminclouds
Дата 7.7.2010, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Опробовал. Необходимость в скрипте отпала. Но проблема осталась. Все корректно работает, только если выставить MasterData.KeepFooter := False. Но мне необходимо, чтобы если все бэнды не помещаются на странице, то последняя строка MasterData переносилась бы на следующую страницу.

Это сообщение отредактировал(а) huminclouds - 7.7.2010, 16:22
PM MAIL   Вверх
huminclouds
Дата 8.7.2010, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Проблема решена скриптом
Код

procedure MasterDataOnBeforePrint(Sender: TfrxComponent);
begin
  if (MasterData.Dataset.RecNo + 1 = MasterData.Dataset.RecordCount) 
  and (Engine.FreeSpace < (MasterData.Height + ColumnFooter.Height + ReportSummary.Height)) then
    Engine.NewPage;                                                                           
end;

Используемые бэнды: ReportTitle, ColumnHeader, MasterData, ColumnFooter и ReportSummary.

Это сообщение отредактировал(а) huminclouds - 21.7.2010, 13:06
PM MAIL   Вверх
huminclouds
Дата 8.7.2010, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



pseud, спасибо за участие и поддержку smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1168 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.