Главная страница
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.013 c
2-1243310305
Алексей Иванов
2009-05-26 07:58
2009.07.19
TTreeView + event


3-1223979385
lod
2008-10-14 14:16
2009.07.19
cxGrid


15-1242203485
TUser
2009-05-13 12:31
2009.07.19
На пути к термоядерной энергетике


15-1242658209
TUser
2009-05-18 18:50
2009.07.19
Господа юристы


2-1243148245
CodeMaster
2009-05-24 10:57
2009.07.19
Поиск по неполному названию в TlistBox