![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с изменением ориентации страницы в отчете [D7, XP]
madmech © (2009-05-22 19:57:00)Использую 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;
Как не сложно догадаться, использую двухпроходной отчет, при запуске которого на первом шаге я запоминаю (заношу в спец. переменную) ширину кросс-таба, а на втором в случае необходимости изменяю ориентацию страницы. Но! Так должно происходить по теории. :) А на деле ровным счетом ничего не происходит. В чем проблема?
AndreyV (2009-05-24 13:42:00) [1]> [5] madmech © (24.05.09 13:12)
Задача была понятна из [0]. В ФР4 не пробовал решить с бесконечной шириной и или длинной и печатью с разбивкой. Повторю, в ФР4.
madmech (2009-05-24 13:12:00) [2]KilkennyCat, а ведь точно: событие вызывается после печати таблицы. :)
madm, и что?
AndreyV, и что Вы предлагаете?
Нат, мне ориентацию надо менять ВНУТРИ отчета, в самом скрипте.
Вопрос с пояснением еще раз всем: на этапе разработки я еще не знаю, каковы окажутся размеры таблицы. Это станет известно после формирования отчета. Поэтому вопрос переформулирую следующим образом: в какой момент становится известна ширина кросс-таба? В каком обработчике лучше заносить ширину таблицы в переменную? В каком обработчике лучше менять ориентацию? Теперь, думаю, задача стала более понятной и доступной.
Нат (2009-05-22 23:54:00) [3]printer.Orientation:=poLandscape;
frReport1.ShowReport ;
AndreyV (2009-05-22 22:41:00) [4]Да на втором проходе можно ли менять - поплывёт же всё - вычисленные суммы по страницам для вывода в заголовках, например, и т.п.. Проверять не хочется.
madm (2009-05-22 22:02:00) [5]http://www.sql.ru/forum/actualthread.aspx?tid=666261
KilkennyCat (2009-05-22 21:20:00) [6]
> Enum_DBCrossOnAfterPrint
это случайно не переводится как "после печати"? тогда, наверное, надо сунуть листик обратно.