2

В настоящее время я работаю над приложением ASP.Net WebForms, которое позволяет пользователю выбирать элемент из списка, что в конечном итоге приводит к отображению отчета SSRS , используя Report Viewer 2010 (в режиме сервера). Отчет был закодирован с параметром @id, чтобы разрешить отчету отображать правильные данные для выбранного элемента.ASP.Net Report Viewer - тот же отчет несколько раз с разными значениями параметров

Набор данных отчетов может возвращать несколько строк, где некоторые данные отображаются в сводной области вверху (не в разделе заголовка), например текстовое поле будет иметь выражение =FIRST(Fields!Address.Value, "dsMain"). Возвращаемые данные денормализуются, поэтому адрес всегда будет одним и тем же значением. Именно поэтому работает FIRST(). Остальные данные показаны в Таблице с примененной группировкой и т. Д.

Но теперь я хочу изменить это, чтобы пользователи могли выбирать несколько элементов и поэтому эффективно отображали отчет несколько раз, но отображались в том же отчете просмотр зрителя. Основным требованием является пакетная печать отчетов, поэтому отображение его в одном представлении просмотра отчета важно, чтобы обеспечить печать одним щелчком всего.

Теперь, потому что я не разрабатывал отчет в первую очередь и потому, что он довольно сложный в своем расположении и sql, который выполняется; sql предназначен для запуска для одного идентификатора, а не списка из них. Я ищу варианты, чтобы не переписывать отчет или sql.

Можно ли предоставить просмотрщику отчета параметра id в виде списка и позволить программе просмотра отчетов выполнить один и тот же отчет для каждого идентификатора? - Я знаю, что параметр отчета может принимать несколько значений, но это не то же самое, поскольку отчет будет недвусмысленно передавать первое значение моей хранимой процедуре, но не повторять отчет для других значений. Возможно, в дизайнере отчетов есть параметр, который позволяет ему повторять, если ему передано несколько значений?

Может кто-нибудь предложить что-то еще, чтобы это работало? Или мой единственный вариант расширить отчет и sql, чтобы принять несколько идентификаторов и эффективно перепроектировать отчет?

Спасибо за любые предложения или помощь в этом.

ответ

2

Ответ заключается в использовании sub-reports.

Создайте новый отчет, который принимает список идентификаторов как многозначный параметр.

Используйте этот параметр в качестве набора данных для управления списком.

Имейте подзаголовок внутри списка. Отчет внутри списка - это ваш исходный отчет.

Затем вы можете передать каждый элемент вашего набора данных (ваш список параметров) как parameter to the your sub-report. SSRS будет повторять это как ваше желание.

+0

Привет, приняв это в качестве ответа, я снова тестировал отчеты прототипов; контейнер-отчет и дочерние отчеты. Теперь, когда я пытаюсь это сделать в реальных производственных отчетах, я столкнулся с проблемой - разделы заголовка и нижнего колонтитула не показаны в подзаголовках. Знаете ли вы, есть ли где-то где-то, что мне не хватает? –

+0

К сожалению, это известное ограничение. Отображается только тело из вспомогательных отчетов, а не верхние и нижние колонтитулы. См. Здесь: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/ba15e779-1de5-4c84-9d14-5739417c0258. – nunespascal