Номер страницы доступа в теле отчета В SSRS - PullRequest
7 голосов
/ 21 января 2011

Я хочу использовать Globals!PageNumber в части тела отчета. Как я могу получить доступ к телу отчета?

Я использую SQL Server Reporting Service 2008 R2.

Ответы [ 4 ]

13 голосов
/ 30 июля 2012

Создание функций в коде под свойствами отчета:

Номер страницы:

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

Check Пример использования функции Concat

8 голосов
/ 04 декабря 2012

К сожалению, в службах Reporting Services (до RS2008) это приведет к появлению «Страница 1 из 1» на каждой странице.Проблема в том, что тело отображается перед верхним и нижним колонтитулами, поэтому код не может получить доступ к правильной нумерации страниц, поскольку он определяется ПОСЛЕ всех элементов в теле.количество строк в каждой таблице, попробуйте использовать row_number в SQL в качестве обходного пути для ручного вычисления номеров страниц: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/c2047eee-41a8-4d79-ae58-dbf60f6e7554/

5 голосов
/ 23 января 2011

Вы не можете использовать номер страницы в теле. используйте его только в нижнем колонтитуле или заголовке отчета.

1 голос
/ 06 января 2016

Для этого нужно использовать Переменные отчета :

Перейти к Report Menu из главного меню в Visual Studio, > Нажать Report Properties > Добавить новую переменную с именем PageCount (Значение по умолчанию для 0)

Затем внутри верхнего колонтитула нижнего колонтитула создайте одно текстовое поле и установите ниже выражение,

=Variables!PageCount.SetValue(Variables!PageCount.Value+1)

Он будет автоматически увеличиваться для каждой страницы.

ПРИМЕЧАНИЕ: Не скрывайте его от верхнего или нижнего колонтитула, SetValue не будет работать, если вы скроете поле, поэтому измените шрифт текстового поля на белый цвет. (Делайте что хотите, но не скрывайте это. Тогда вы можете использовать приведенное ниже выражение для получения значения pagenumber внутри тела отчета.

=Variables!PageCount.Value

Я взял ссылку из этого ответа .

...