Поделиться через


Добавление верхнего и нижнего колонтитула к отчету

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

ms159677.note(ru-ru,SQL.90).gifПримечание.
Каждый модуль подготовки отчетов обрабатывает страницы по-разному. Дополнительные сведения о разбиении отчета на страницы и модулях подготовки отчетов см. в разделе Управление разбивкой отчета на страницы.
ms159677.note(ru-ru,SQL.90).gifПримечание.
В версиях SQL Server 2005 и SQL Server 2005 с пакетом обновления 1 службы Reporting Services не поддерживают действия детализации и ссылки на закладки в верхнем и нижнем колонтитулах.

Колонтитулы отчета не те же самые, что колонтитулы таблицы или группы. Дополнительные сведения о колонтитулах таблицы см. в разделе Работа с табличными областями данных.

Отключение колонтитулов на первой странице

В конструкторе отчетов по умолчанию на первой и последней страницах отчета колонтитулы отображаются. Можно отключить отображение колонтитулов на первой и последней страницах отчета. Для изменения этого параметра измените свойство PrintOnFirstPage или PrintOnLastPage верхнего или нижнего колонтитула. Дополнительные сведения см. в разделе Как скрыть верхний или нижний колонтитул первой или последней страницы (конструктор отчетов).

Отображение изменяющихся данных в колонтитулах страницы

Колонтитулы страницы могут включать статическое содержимое, но в основном используются для отображения переменного содержимого, такого как номер страницы или сведения о содержимом страницы. Для отображения изменяющихся данных, различных для каждой страницы, необходимо создать выражение. Чтобы вывести переменные данные в колонтитулах, выполните следующие действия:

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

Из текстового поля в колонтитуле нельзя напрямую ссылаться на поле данных. (Например, нельзя использовать выражение =Fields!LastName.Value.)

Чтобы отобразить информацию из поля в колонтитуле, поместите в текстовое поле в теле отчета выражение, ссылающееся на поле, и затем используйте значение этого выражения, сославшись на него из колонтитула. Следующее выражение отображает содержимое первого экземпляра текстового поля с именем TXT_LastName.

=First(ReportItems!TXT_LastName.Value)

В колонтитулах нельзя применять статистические функции к полям. Статистические функции можно применять лишь к элементам отчета (таким как функция First(), описанная выше). Типичные выражения для колонтитулов страниц см. в разделе Примеры выражений в службах Reporting Services.

Следующие подразделы этого раздела содержат готовые к использованию выражения, получающие переменные данные, обычно используемые в колонтитулах. В них также объясняется, как модуль подготовки отчетов в формате Excel обрабатывает колонтитулы. Дополнительные сведения о выражениях см. в разделе Использование выражений в службах Reporting Services.

Добавление номера страницы в колонтитул

Нижние колонтитулы обычно содержат номер страницы. Чтобы отобразить номера страниц в колонтитуле отчета, создайте текстовое поле в нижнем колонтитуле и добавьте в него следующее выражение:

=Globals.PageNumber & " of " & Globals.TotalPages

Добавление имени отчета, пути и времени выполнения отчета к колонтитулу

Используйте следующие выражения для вывода заголовка или имени отчета, под которым он хранится в базе данных сервера отчетов, а также информации о времени создания отчета:

=ReportItems!ReportTitle.Value
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

Добавление связанного с данными изображения в колонтитул

В колонтитуле можно использовать изображение, хранящееся в базе данных. Однако из элемента управления Image нельзя ссылаться на поля базы данных напрямую. Вместо этого необходимо добавить текстовое поле в тело отчета и затем связать текстовое поле с полем данных, которое содержит изображение (учтите, что это значение должно быть сохранено в формате base64). Можно скрыть текстовое поле в теле отчета, чтобы алфавитно-цифровая запись изображения в формате кодировки base64 не отображалась. Затем можно сослаться на значение скрытого текстового поля из элемента управления Image из колонтитула страницы.

Предположим, например, что существует отчет, состоящий из страниц с информацией о продукте. В верхнем колонтитуле каждой страницы необходимо отобразить фотографию продукта. Для печати хранимого изображения в верхнем колонтитуле страницы определите скрытое текстовое поле TXT_Photo в теле отчета, которое будет получать изображение из базы данных, и задайте ему значение с помощью выражения:

=Convert.ToBase64String(Fields!Photo.Value)

В верхнем колонтитуле добавьте элемент управления Image, использующий текстовое поле TXT_Photo, который будет раскодироваться и показывать изображение:

=Convert.FromBase64String(ReportItems!TXT_Photo.Value)

Добавление вычисляемых суммарных показателей страниц к колонтитулу

Для некоторых отчетов удобно включить в колонтитулы вычисляемое значение (например, общую сумму по страницам, если страница содержит числовые значения). Из-за того, что на поля нельзя ссылаться из колонтитулов напрямую, в колонтитул необходимо поместить ссылку на элемент отчета (например, текстовое поле), а не на поле данных.

=Sum(ReportItems!Textbox1.Value)

Если текстовое поле находится в таблице или списке, содержащих повторяющиеся строки данных, то значение, выводимое во время выполнения в колонтитуле, будет суммой всех значений экземпляра данных TextBox1 в таблице или в списке для текущей страницы.

При вычислении суммарных показателей страниц при использовании различных модулей подготовки отчета можно ожидать, что будут выводиться различные цифры. Зависящие от страниц данные будут рассчитываться по-разному для каждого из модулей подготовки отчетов. Одна и та же страница может содержать различные итоговые значения при просмотре в формате HTML и в формате PDF, если на одну страницу в PDF приходится другое количество данных.

Использование колонтитулов для позиционирования текста

Можно использовать колонтитулы для позиционирования текста на странице. Предположим, например, что требуется создать отчет, который необходимо отправить по почте заказчикам. Можно использовать колонтитул для размещения адреса заказчика таким образом, чтобы он был виден в окне конверта даже в свернутом состоянии.

Если текстовое поле используется только для заполнения колонтитула, то можно скрыть поле в теле отчета. Расположение текстового поля в теле отчета может оказывать влияние на то, появится ли значение на верхнем или нижнем колонтитуле первой или последней страницы отчета. Например, если таблицы, матрицы или списки располагаются в отчете на нескольких страницах, то скрытое текстовое поле окажется на последней странице. Если данные нужно отобразить на первой странице, поместите скрытое текстовое поле на самый верх тела отчета.

Работа с колонтитулами страницы в Excel

При определении колонтитулов страницы для отчетов, предназначенных для модуля подготовки отчетов в формате Excel, придерживайтесь следующих правил для получения оптимальных результатов:

  • Используйте нижние колонтитулы для отображения номеров страницы.
  • Используйте верхние колонтитулы для отображения изображений, заголовков и другого текста. Не выводите номера страниц в верхнем колонтитуле.

Возможности Excel по работе с нижними колонтитулами ограничены. При определении отчета, содержащего сложные элементы отчета в нижнем колонтитуле, колонтитул не будет обрабатываться должным образом при просмотре отчета в Excel.

Модуль подготовки отчетов в формате Excel помещает изображения и допускает абсолютное позиционирование простых или сложных элементов отчета в верхнем колонтитуле страницы. Побочным эффектом поддержки более разнообразных макетов верхнего колонтитула является сниженная поддержка расчета номера страницы в верхнем колонтитуле. В модуле подготовки отчетов в формате Excel параметры по умолчанию предусматривают вычисление номеров страниц на основе числа рабочих листов. В зависимости от способа определения отчета, это может привести к формированию неверных номеров страниц. Предположим, например, что имеется отчет, отображаемый как один большой рабочий лист, который выводится на печать на четырех страницах. Если включить сведения о номере страницы в верхнем колонтитуле, на каждой отпечатанной странице в верхнем колонтитуле отобразится «Страница 1 из 1».

Более точный подсчет страниц основан на логических страницах, соответствующих размерам печатаемых листов. В Excel нижний колонтитул автоматически использует логические номера страниц. Чтобы вывести номер логической страницы в верхнем колонтитуле страницы, необходимо настроить информационные параметры устройства так, чтобы применялись простые верхние колонтитулы. Но следует знать, что при использовании простых верхних колонтитулов отключается возможность использования в области верхнего колонтитула сложных макетов отчета. Дополнительные сведения об изменении настроек устройства см. в разделе Excel Device Information Settings.

См. также

Задачи

Как добавить или удалить верхний или нижний колонтитул (конструктор отчетов)
Как скрыть верхний или нижний колонтитул первой или последней страницы (конструктор отчетов)
Как внедрить изображение в отчет (конструктор отчетов)

Основные понятия

Проектирование макета отчета
Добавление графических элементов

Справка и поддержка

Получение помощи по SQL Server 2005