Переменные Page и Totalpages в выражениях
Строю композитный отчёт.
В отчёте требуется выводить номер страницы на каждой странице и общее количество страниц на первой.
Причём каждую цифру номера в отдельный компонент memo.
Я использую, для вывода трёх цифр страницы, выражения (в самом отчёте для memo):
[copy(('0'+IntToStr(<Page#>)),Length(<Page#>)-1,1)]
[copy(('0'+IntToStr(<Page#>)),Length(<Page#>),1)]
[copy(<Page#>,length(<Page#>),1)]
это работает для Page#, но не работает для TotalPages# (именно в композитном отчёте, в многостраничном - работает)
Здесь : http://www.fast-report.com/documentation/U...emvariables.htm
вы пишите, что эти переменные (Page#, TotalPages#) нельзя использовать в выражениях.
Вопрос: как правильно вывести "общее количество страниц" композитного отчёта по цифрам?
Использую FR 4.10
В отчёте требуется выводить номер страницы на каждой странице и общее количество страниц на первой.
Причём каждую цифру номера в отдельный компонент memo.
Я использую, для вывода трёх цифр страницы, выражения (в самом отчёте для memo):
[copy(('0'+IntToStr(<Page#>)),Length(<Page#>)-1,1)]
[copy(('0'+IntToStr(<Page#>)),Length(<Page#>),1)]
[copy(<Page#>,length(<Page#>),1)]
это работает для Page#, но не работает для TotalPages# (именно в композитном отчёте, в многостраничном - работает)
Здесь : http://www.fast-report.com/documentation/U...emvariables.htm
вы пишите, что эти переменные (Page#, TotalPages#) нельзя использовать в выражениях.
Вопрос: как правильно вывести "общее количество страниц" композитного отчёта по цифрам?
Использую FR 4.10
Комментарии
У нас композитный отчёт, т.е. состоящий из нескольких отдельных отчётов. Переменные определяются отдельно для каждого отчёта.
Для каждого отчёта, входящих в композитный (для примера возьмём однин и тот же с MasterData1.RowCount=1):
1. Добавляем переменые: vPage, vTotalPages, vPage#,vTotalPages#
2. Добавляем событие: 3. Добавляем, поле memo.text=
'vPage:[vPage] - vTotalPages:[vTotalPages] - vPage#:[vPage#] - vTotalPages#:[vTotalPages#]'
В итоге получаем для композитного отчёта из трёх страниц (каждый отчёт - одна страница):
vPage:0 - vTotalPages:2 - vPage#:0 - vTotalPages#:0
vPage:1 - vTotalPages:1 - vPage#:1 - vTotalPages#:0
vPage:1 - vTotalPages:1 - vPage#:2 - vTotalPages#:0
если ставим: В итоге получаем для композитного отчёта из трёх страниц (каждый отчёт - одна страница):
vPage:0 - vTotalPages:0 - vPage#:0 - vTotalPages#:0
vPage:1 - vTotalPages:0 - vPage#:1 - vTotalPages#:0
vPage:1 - vTotalPages:0 - vPage#:2 - vTotalPages#:0
frxReport1.Script.Variables := 0;
frxReport1.PrepareReport(True);
frxReport1.PrepareReport(False);
frxReport1.PrepareReport(False);
frxReport1.Script.Variables := frxReport1.PreviewPages.Count;
frxReport1.PrepareReport(True);
frxReport1.PrepareReport(False);
frxReport1.PrepareReport(False);
frxReport1.ShowPreparedReport;
LastPage выводите в отчёте
Но...
1. Ваш пример подразумевает наличие Delphi. (тут-то никаких проблем с подстчётом количества страниц и тем более с установкой № страниц. Да можно и многостраничник из композитного сгенерить ).
2. Вопрос же относится именно к отдельным отчётам (например, формируемым в дезайнере FastReport Studio и хранящимся в БД).
3. Понятно, что TotalPages - это переменная, а TotalPages# - по сути макрос. Но интересует именно использование #. Поэтому и тема была задана "Переменные Page и Totalpages в выражениях".