如何在ssrs正文中显示正确的页码(在输出的每一页中)

时间:2016-04-04 13:08:15

标签: reporting-services reporting ssrs-2012

我将此代码放在我的报告属性代码

Public Function PageNumber() as String
     Dim str as String
     str = Me.Report.Globals!PageNumber.ToString()
     Return str
End Function

并在报告正文中的文本框中调用,如此

 =Code.PageNumber()

无法在每个页面上重复文本框。 它仅在第一页上显示页码1

需要在报告正文的输出的每个页面中显示 pagenumber

如果你有任何解决方案,请帮助我。

2 个答案:

答案 0 :(得分:0)

我通常在报告的页脚中放置一个文本框(将自动显示在每个页面上),其中包含以下代码行(不需要报告属性代码):

="Page " & CStr(Globals!PageNumber) & " of " & CStr(Globals!TotalPages)

答案 1 :(得分:0)

首先按照下面的步骤1进行分页:
1)
1.1。单击“行组”窗格中的“详细信息”组 1.2。从Tablix成员的“属性”窗格中,展开“组” - > “分页符”。
1.3。将“BreakLocation”设置为“End”并将“Disable”属性设置为如下表达式:
    = IIF(rownumber(无)mod 40 = 0,false,true)
上述第1点用于在报告输出中进行分页(在输出中每页仅显示40条记录)

2)使用自定义代码:

Public Function PageNumberno(val as integer) as String
     Dim str as String
     str =(val/40)
     Return str
End Function

3)在数据集中创建计算列,并在表达式

中输入= 0

4)在2个计算列中     1)您做生意
    2)数据集中没有

在报告正文中,使用表达式 PageNo

  =code.PageNumberno(Rownumber("DataSet1"))

将表达式用于

 =IIF(Instr(code.PageNumberno(Rownumber("DataSet1"))
,".")<>0,
(Left(code.PageNumberno(Rownumber("DataSet1")),
(Instr(code.PageNumberno(Rownumber("DataSet1")),".")-1))+1)
,code.PageNumberno(Rownumber("DataSet1"))
)

5)右键单击并在右侧插入列,在列名称中添加代码在文本框中

=ReportItems!No.Value

注意:否计算字段列名称。

6)在AdvancedMode下 在行组中选择静态并将 RepeatOnNewPage 属性设置为 True

在第5点下创建的上方列中,将在报告正文中的每个页面中显示正确的页面

我已经尝试过并且工作正常......试试吧。