0

我正在使用下面的代码在我的报告中添加一个 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 不能只导出我在屏幕上看到的内容?

4

3 回答 3

1

如果只想显示行号,可以使用 SSRS 功能。只需将此代码放在要显示行号的 tablix 列中。

=RunningValue(Fields!ProductId.Value, CountDistinct, "{name of dataset}")
于 2019-03-25T13:54:33.797 回答
0

我遇到了一个问题,我的对齐在 PDF 上关闭,但在其他地方很好。我不得不使用=Ceiling(RowNumber(Nothing)/37).

这可能不是导致您的问题的原因,但对我来说,当我在每页上强制执行有限数量的行时,它为我修复了它。有时我不得不对事情进行分组,或者做一些没有意义的事情来解决它。

于 2019-03-21T21:01:07.797 回答
0

我不确定为什么您的功能无法正常工作,但有一种更简单的方法。SSRS 有一个内置RowNumber关键字。您应该能够将关键字放在表中,并将您使用的数据集放在括号中作为函数的参数。

=RowNumber("yourDatasetHere")

您还可以使用=RowNumber(Nothing)指定该函数应使用表中使用的最外层数据集。

于 2019-03-21T17:58:38.687 回答