Я хочу использовать Globals!PageNumber
в части тела отчета. Как я могу получить доступ к телу отчета?
Я использую SQL Server Reporting Service 2008 R2
.
Я хочу использовать Globals!PageNumber
в части тела отчета. Как я могу получить доступ к телу отчета?
Я использую SQL Server Reporting Service 2008 R2
.
Создайте функции в коде в свойствах отчета:
Номер страницы:
Function PageNumber() As String
Return Me.Report.Globals!PageNumber
End Function
Всего страниц:
Function TotalPages() As String
Return Me.Report.Globals!TotalPages
End Function
Доступ к нему в теле через выражение:
=code.PageNumber & " of " & code.TotalPages
Ознакомьтесь с Пример использования функции Concat
К сожалению, в Reporting Services (до RS2008) на каждой странице будет отображаться «Страница 1 из 1». Проблема в том, что тело рендерится раньше шапки и футера, поэтому код не может получить доступ к правильной нумерации страниц, так как она определяется ПОСЛЕ всех элементов в теле.
Если ваш отчет в основном представляет собой большую таблицу с предопределенным количеством строк в каждой таблице, попробуйте использовать row_number в своем SQL в качестве обходного пути для ручного расчета номеров страниц: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/c2047eee-41a8-4d79-ae58-dbf60f6e7554/
вы не можете использовать номер страницы в теле. используйте его только в нижнем или верхнем колонтитуле отчета.
Для этого вам нужно использовать Переменные отчета:
Перейдите к Report Menu
из главного меню в Visual Studio, > нажмите Report Properties
> Добавьте новую переменную с именем PageCount
(значение по умолчанию 0)
Затем внутри заголовка нижнего колонтитула создайте одно текстовое поле и установите ниже выражение,
=Variables!PageCount.SetValue(Variables!PageCount.Value+1)
Он будет автоматически увеличиваться для каждой страницы.
ПРИМЕЧАНИЕ. Не скрывайте его из верхнего или нижнего колонтитула, SetValue
не будет работать, если вы скроете поле, поэтому измените шрифт текстового поля на белый цвет. (Делайте все, что хотите, но только не скрывайте это. Затем вы можете использовать выражение ниже, чтобы получить значение номера страницы внутри тела отчета.
=Variables!PageCount.Value
Я взял ссылку из этого ответа< /а>.