Одна из вещей, которую я хочу в своих отчетах, - иметь хорошие заголовки для моих отчетов. Мне нравится иметь логотип и параметры отчета пользователя вместе с другими данными, чтобы показать больше информации о бизнес-потребностях, которые отчет должен прояснить. Одна из вещей, которую Microsoft SQL Server 2005 Reporting Services не может сделать изначально, - это отображение данных из набора данных в заголовке. Этот пост расскажет, как обойти это и насколько это просто.
Создайте проект сервера отчетов в разделе «Проекты бизнес-аналитики» и назовите его AdventureWorksLTReports. Я использую образец базы данных AdventureWorksLT от CodePlex.
альтернативный текст http://www.cloudsocket.com/images/image-thumb.png
Затем отобразите верхний колонтитул страницы, щелкнув правой кнопкой мыши в области отчета с конструктором.
альтернативный текст http://www.cloudsocket.com/images/image-thumb1.png
Появится заголовок страницы. Если вы хотите показать нижний колонтитул страницы, к нему можно получить доступ из того же меню, что и верхний колонтитул страницы.
альтернативный текст http://www.cloudsocket.com/images/image-thumb2.png
Я создал хранимую процедуру, которая возвращает данные для заказа клиента, который будет представлен в заголовке страницы. В заголовке страницы я покажу следующую информацию о заказе клиента:
- Дата заказа
- Номер заказа на продажу
- Компания
- Продавец
- Общая сумма
Я создаю TextBox для каждого из моих полей данных в заголовке страницы вместе с TextBox для соответствующей метки. Не изменяйте выражение в текстовых полях, в котором вы хотите получить данные заказа клиента.
альтернативный текст http://www.cloudsocket.com/images/image-thumb3.png
В теле отчета поместите TextBox для каждого поля данных, необходимого в заголовке страницы. В видимости для каждого TextBox выберите True для скрытого. Это будет заполнитель для данных, необходимых в заголовке страницы.
альтернативный текст http://www.cloudsocket.com/images/image-thumb4.png
Ваш отчет должен выглядеть примерно так, как показано на скриншоте ниже.
альтернативный текст http://www.cloudsocket.com/images/image-thumb5.png
Последний шаг и самый важный - ссылаться на скрытый текстовый блок в текстовых боксах, расположенных в заголовке страницы. Мы используем следующее выражение для ссылки на необходимые текстовые поля:
= ReportItems! .Value
Ваш отчет должен выглядеть примерно так:
альтернативный текст http://www.cloudsocket.com/images/image-thumb6.png
В предварительном просмотре отчета теперь должны быть данные заголовка заказа на продажу в заголовке отчета.
альтернативный текст http://www.cloudsocket.com/images/image-thumb7.png