Изменение видимости данных отчета в зависимости от формата рендеринга в службах Reporting Services

Можно ли скрыть или исключить определенные данные из отчета, если он отображается в определенном формате (csv, xml, excel, pdf, html). Проблема в том, что я хочу, чтобы гиперссылки на другие отчеты не отображались, когда отчет создается в формате Excel, но они должны быть там, когда отчет отображается в формате HTML.


person Catch22    schedule 17.09.2008    source источник


Ответы (2)


То, как я сделал это с SSRS 2005 для веб-приложения с использованием элемента управления ReportViewer, заключалось в том, что у меня был скрытый логический параметр отчета, который использовался в отчете, чтобы решить, отображать ли текст в виде гиперссылок или нет.

Затем хитрость заключалась в том, как отправить значение этого параметра в зависимости от формата рендеринга. Я сделал это, отключив элементы управления экспортом ReportViewer (установив для его свойства ShowExportControls значение false) и создав собственные кнопки ASP.NET для каждого формата, который я хотел экспортировать. Код для этих кнопок сначала устанавливает скрытый логический параметр и обновляет отчет:

ReportViewer1.ServerReport.SetParameters(New ReportParameter() {New ReportParameter("ExportView", "True")})
ReportViewer1.ServerReport.Refresh()

Затем вам нужно программно экспортировать отчет. См. на этой странице в качестве примера того, как это сделать (не обращайте внимания на первые несколько строк кода, которые создают и инициализируют ReportViewer).

person Liron Yahdav    schedule 17.09.2008
comment
Я согласен с этим постом. Единственный известный мне метод — это использовать параметр отчета, а затем установить выражение в таблице или ячейке матрицы, которое ссылается на параметр, чтобы определить, должен ли он возвращать гиперссылку. - person Registered User; 01.01.2009

Я не думаю, что это возможно в версии 2000 года, но может быть в более поздних версиях.

Если я правильно помню, в итоге мы сделали две версии отчета.

person Bob Dizzle    schedule 17.09.2008