Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.19;
Скачать: CL | DM;

Вниз

Проблема с изменением ориентации страницы в отчете   Найти похожие ветки 

 
madmech ©   (2009-05-22 19:57) [0]

Использую FastReport4, в котором хочу изменять ориентацию страницы с портретной на альбомную в случае определенного размера кросс-таба, выходящего за границы страницы, для чего использую следующий скрипт:
var DBCrossWidth: extended;
procedure EnumReportOnStartReport(Sender: TfrxComponent);
begin
 if Engine.FinalPass then                                                    
   if DBCrossWidth > 680 then
     Page1.Orientation := poLandscape;            
end;

procedure Enum_DBCrossOnAfterPrint(Sender: TfrxComponent);
begin
 DBCrossWidth := Enum_DBCross.Width;  
end;

Как не сложно догадаться, использую двухпроходной отчет, при запуске которого на первом шаге я запоминаю (заношу в спец. переменную) ширину кросс-таба, а на втором в случае необходимости изменяю ориентацию страницы. Но! Так должно происходить по теории. :) А на деле ровным счетом ничего не происходит. В чем проблема?


 
KilkennyCat ©   (2009-05-22 21:20) [1]


> Enum_DBCrossOnAfterPrint

это случайно не переводится как "после печати"? тогда, наверное, надо сунуть листик обратно.


 
madm   (2009-05-22 22:02) [2]

http://www.sql.ru/forum/actualthread.aspx?tid=666261


 
AndreyV ©   (2009-05-22 22:41) [3]

Да на втором проходе можно ли менять - поплывёт же всё - вычисленные суммы по страницам для вывода в заголовках, например, и т.п.. Проверять не хочется.


 
Нат   (2009-05-22 23:54) [4]

printer.Orientation:=poLandscape;
frReport1.ShowReport ;


 
madmech ©   (2009-05-24 13:12) [5]

KilkennyCat, а ведь точно: событие вызывается после печати таблицы. :)
madm, и что?
AndreyV, и что Вы предлагаете?
Нат, мне ориентацию надо менять ВНУТРИ отчета, в самом скрипте.

Вопрос с пояснением еще раз всем: на этапе разработки я еще не знаю, каковы окажутся размеры таблицы. Это станет известно после формирования отчета. Поэтому вопрос переформулирую следующим образом: в какой момент становится известна ширина кросс-таба? В каком обработчике лучше заносить ширину таблицы в переменную? В каком обработчике лучше менять ориентацию? Теперь, думаю, задача стала более понятной и доступной.


 
AndreyV ©   (2009-05-24 13:42) [6]

> [5] madmech ©   (24.05.09 13:12)

Задача была понятна из [0]. В ФР4 не пробовал решить с бесконечной шириной и или длинной и печатью с разбивкой. Повторю, в ФР4.



Страницы: 1 вся ветка

Текущий архив: 2009.07.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
4-1208260980
тимохов
2008-04-15 16:03
2009.07.19
Как задать права доступа к мьютексу


2-1243408564
Александр
2009-05-27 11:16
2009.07.19
delphi 2006 настройка окружения


15-1242709740
brother
2009-05-19 09:09
2009.07.19
Оцените по цене видеокарту


2-1243172371
Petro
2009-05-24 17:39
2009.07.19
Мышь над Image.


2-1243271257
Надеждочка
2009-05-25 21:07
2009.07.19
чтение из файла заданной строки