Навигация по отчету
Добрый день!
Необходимо создать динамический отчет, в котором кликнув по строке увидеть детализированные данные по этой строке.
К примеру:
<!--fonto:Courier New--><span style="font-family:Courier New"><!--/fonto-->
Master1
Master2
Master3
Master4
Master5
...
<!--fontc--></span><!--/fontc-->
Кликнув по Master3, должны получить:
<!--fonto:Courier New--><span style="font-family:Courier New"><!--/fonto-->
Master1
Master2
Master3
Master5
...
<!--fontc--></span><!--/fontc-->
Такой отчет сделать удалось, но только повторно перестраивая его (Report.ShowReport в скрипте);
Есть одна проблемка. Если перестраиваешь отчет, то соответственно после Report.ShowReport мы видем первую страницу
отчета, а не ту, на которой мы кликнули.
Как можно и можно ли вообще после построения отчета перейти на определенный номер страницы ?
Или возможно показать Detail данные как бы в новом отчете ? чтобы когда закрываешь Detail, Master - оставался на прежних данных!
Заранее благодарен за ответы!!!
Необходимо создать динамический отчет, в котором кликнув по строке увидеть детализированные данные по этой строке.
К примеру:
<!--fonto:Courier New--><span style="font-family:Courier New"><!--/fonto-->
Master1
Master2
Master3
Master4
Master5
...
<!--fontc--></span><!--/fontc-->
Кликнув по Master3, должны получить:
<!--fonto:Courier New--><span style="font-family:Courier New"><!--/fonto-->
Master1
Master2
Master3
Master4Detail3
Detail3
Detail3
Master5
...
<!--fontc--></span><!--/fontc-->
Такой отчет сделать удалось, но только повторно перестраивая его (Report.ShowReport в скрипте);
Есть одна проблемка. Если перестраиваешь отчет, то соответственно после Report.ShowReport мы видем первую страницу
отчета, а не ту, на которой мы кликнули.
Как можно и можно ли вообще после построения отчета перейти на определенный номер страницы ?
Или возможно показать Detail данные как бы в новом отчете ? чтобы когда закрываешь Detail, Master - оставался на прежних данных!
Заранее благодарен за ответы!!!
Комментарии
Функции можно использовать, только если окно предпросмотра уже создано.
При попытке выполнить отчет пишет:
"Неопределенный идентификатор: TfrxPreview"
Смотрю в зарегистрированных классах скрипта, действительно такого нет (есть только TfrxPreviewOption и там только свойства, методов нет).
Добавил методы следующим образом:
Все, ок, получаю номер страницы, положение по вертикали.
Теперь проблема в другом На какое событие повесить Если вешаю на OnStopReport, то на последних страницах не отрабатывает SetPosition.
Делал проверку, вешал ShowMessage на OnStopReport. Получается следующая ситуация, в просмотрщике пишет еще страниц 1/2, а по событию метод PageCount возвращает 5 стр.
Нажимаем кнопку "ок" (ShowMessage), через доли сек. в Просмотрщике уже стоит 1/5 (одна страница из пяти).
Вот собственно и вопрос на какое событие можно повесить Как узнать когда отчет построился на экране пользователя полностью ?
Но в скрипте такого события нет, попробуйте добавить вручную.
Спасибо, получилось, сделал следующим образом:
Присваиваю переменным dmrep.page и dmrep.ntop значения при событии OnReportStop (в скрипте), а затем уже в делфи вызываю
TfrxPreview(Report.Preview).SetPosition(page,ntop); на событии OnEndDoc.
Спасибо за помощь!