Службы отчетов 2008:Есть ли способ изменить свойства элемента в зависимости от того, как отображается отчет?
-
21-08-2019 - |
Вопрос
Я пишу отчет, который прекрасно экспортируется в PDF.Однако он не экспортируется в документ Word (.doc) должным образом.
(Поля в области заголовка игнорируются, что портит разрывы страниц, отсутствует текст нижнего колонтитула и т. д.)
Чтобы обойти эту проблему, я хочу отключить, включить и/или изменить размер некоторых элементов в моем отчете в зависимости от того, отображается ли он в формате PDF или в документе Word.
Есть ли способ установить свойства элементов в зависимости от того, как отображается отчет?
Решение
Я думаю, что единственное решение вашей проблемы заключается в следующем:в вашем отчете вы можете получить доступ к Globals.ReportServerUrl.При вызове отчета вы можете указать его тип отображения (и даже другие вещи, такие как размеры и т. д.) в URL-адресе.Все, что вам нужно сделать, это написать специальный код для извлечения типа рендеринга из URL-адреса, и все готово.
Дополнительную информацию обо всех возможных параметрах URL можно найти здесь: http://technet.microsoft.com/en-us/library/ms154040.aspx
Другие советы
У меня был аналогичный сценарий: мне нужно было использовать элемент управления просмотром отчетов в приложении asp.net.Решение, которое я придумал, заключалось в том, чтобы скрыть панель инструментов в элементе управления просмотром отчетов и создать собственный раскрывающийся список для различных форматов (PDF, Excel — те, которые мы сейчас используем).
Обходной путь: при загрузке элемента управления просмотром отчетов я передаю в свои отчеты дополнительный параметр, указывающий «RenderType=HTML».Когда делается запрос на получение, скажем, версии PDF, я использую ту же методологию, за исключением того, что я использую функцию ServerReport.Render() и передаю «PDF» в качестве параметра RenderType, то же самое для Excel.
Это позволяет мне выполнять условное форматирование/показ/скрытие в моих отчетах для различных форматов отчетов.
Поскольку веб-элемент управления «Просмотр отчетов» поддерживает функции рендеринга определенных страниц/масштабов из кода и т. д., было довольно легко создать собственную «панель инструментов» для управления отчетом, что дало нам возможность стилизовать ее, более подходящую для нашего приложения ( хотя это в любом случае можно сделать с помощью CSS).Еще одна проблема, которую он решил, заключалась в странной функции печати, требующей активного компонента x. Мы реализовали наш собственный механизм печати, чтобы писать отчет в удобной для печати форме.
Надеюсь это поможет.