Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1242376187
oldman
2009-05-15 12:29
2009.07.19
При загрузке ХР не может загрузить "текущий профиль пользователя"


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


3-1224171584
AndriyB
2008-10-16 19:39
2009.07.19
Ошибка в ntdll.dll при закрытии рекордсета


15-1242298176
Василий Жогарев
2009-05-14 14:49
2009.07.19
PostgreSQL & Date / Time


15-1242505804
Юрий
2009-05-17 00:30
2009.07.19
С днем рождения ! 17 мая 2009 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский