我使用以下代码在我的报告中添加一个Row#列:
Dim row AS integer
Public Function GetRow() As Integer
row = row + 1
return row
End Function
运行报表时,报表返回29行,行列似乎工作正常,标记预览中的所有行1-29。但是,当我导出为PDF时,报表中的行将从30-58更改。我不知道造成这个问题的原因。
PDF正在做些什么以不同的方式处理函数? PDF甚至可以使用该功能吗?
如果没有,那么SSRS可以做什么导致函数在导出时重新运行?
为什么SSRS不能只导出我在屏幕上看到的内容?
如果您只想显示行号,可以使用SSRS功能。只需将此代码放在要在其中显示行号的Tablix列中。
=RunningValue(Fields!ProductId.Value, CountDistinct, "{name of dataset}")
我不确定为什么你的功能不能正常工作,但有一种更简单的方法。 SSRS有一个内置的RowNumber
关键字。您应该能够将关键字放在表中,并将您在括号中使用的数据集作为函数的参数。
=RowNumber("yourDatasetHere")
您还可以使用=RowNumber(Nothing)
指定该函数应使用表中使用的最外层数据集。
我遇到了一个问题,我的对齐关于PDF,但在其他地方很好。我不得不使用=Ceiling(RowNumber(Nothing)/37)
来分页。
这可能不是导致你的问题的原因,但对我来说,当我在每个页面上强制使用有限数量的行时,它会为我修复它。有时候我不得不把事情分组,或做一些没有意义的东西来修复它。