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


Добавление колонтитулов страниц в отчет (конструктор отчетов Visual Studio)

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

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

NoteПримечание.

Каждый выходной формат отчета по-разному обрабатывает страницы. Дополнительные сведения см. в разделе Определение размера страницы и разрывов страниц в отчете (конструктор отчетов Visual Studio).

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

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

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

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

  1. Добавьте текстовое поле в верхний или нижний колонтитул.

  2. В текстовом поле введите выражение, создающее изменяющиеся данные, которые необходимо вывести.

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

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

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

=First(ReportItems!TXT_LastName.Value)

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

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

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

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

=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 нижний колонтитул автоматически использует логические номера страниц. Чтобы вывести номер логической страницы в верхнем колонтитуле страницы, необходимо установить настройки сведений об устройстве так, чтобы применялись простые верхние колонтитулы. Но следует знать, что при использовании простых верхних колонтитулов отключается возможность использования в области верхнего колонтитула сложных макетов отчета.

См. также

Задачи

Как добавить, скрыть и удалить колонтитулы страниц (конструктор отчетов Visual Studio)

Понятия

Определение размера страницы и разрывов страниц в отчете (конструктор отчетов Visual Studio)