SSRS - 在每页的第一行重复格式化

时间:2014-10-24 20:37:46

标签: sql-server reporting-services ssrs-2008-r2 ssrs-tablix

SSRS中收到的报告要求包括重复每页1列的第一行格式化。

我已经在每个页面上重复了列标题。此要求是在每个页面上重复格式化第一个数据行(在列标题下方)。

示例:

Name   Money
ABC     $100
DEF      200

现在第2页看起来应该是

Name   Money
ABCD     $10
PQRS   10000

$ sign应出现在每页的第一行。

我能够查看RowNumber()并执行第一行的格式

IIF(RowNumber("Table 1") = 1, "$" + Fields!Data.Value, Fields!Data.Value)

第一页的行数少于其他页面,因为它有一个子报表占据了大约一半的页面。因此,每页返回固定数量的行不是一种选择。

我正在使用SSRS 2008R2。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:2)

是的,您只能在页眉或页脚上访问Global!PageNumber。

在报告属性代码中输入此代码:

dim c as integer = 1 
dim last_c as integer = 0

public function SetCurrentPage(i as integer) 
 c = i 
 return c 
end function

public function PageValue()

if c <> last_c then     
 last_c = c     
 return "$" 
else
 return "" 
end if 
end function

在报告的标题上插入带有以下表达式的文本框:

= code.SetCurrentPage(Globals!PageNumber)

这样您就可以在后面的代码中保存当前页面。

在要添加“$”连接

的单元格上
=code.PageValue()

每次更改页面时,只应在第一次通话时返回$。

希望这是一个很好的例子