生成数字以在ssrs报告中显示序列时发出问题

时间:2018-05-01 14:33:00

标签: c# reporting-services ssrs-2008 ssrs-2012

我正面临SSRS报告的问题,我试图生成数字以显示filds序列。我通过使用报告中的代码生成此数据。但它有两个主要问题。

  1. 在这里,我可以在父报告中获取数字,但在子报告中,这个编号不是从1开始,它继续在子报告中而不考虑父报告值。 我的代码如下所示。这会生成像
  2. 这样的数字

    1个虚拟数据  1.1虚拟数据  1.2虚拟数据 2个虚拟数据  2.1虚拟数据

    Dim currentValue As Double
    Public Function GetCounter(ByVal iCounter As Double, ByVal incrementCounter 
      As Boolean) As Double
        If (incrementCounter = true) Then
            iCounter = (iCounter + currentValue)
            currentValue = (currentValue + 0.1)
        End If
    
        Return iCounter
    End Function
    

    但是根据我的子报告,我想生成像

    这样的数字

    1个虚拟数据  1.1虚拟数据   1.1.1虚拟数据    1.1.1.1虚拟数据    1.1.1.2虚拟数据   1.1.2虚拟数据   1.1.2.1虚拟数据   1.1.2.2虚拟数据 1.2等等。

    我无法了解如何使用subReport实现此目的。

    第二个问题是。

    1. 有些fildes我正在获得正确的数字,例如来自parrent报告,在PDF中有问题,一些extrea数字出现在报告中,并且报告和PDF中显示的数字对于某些filds是不同的。
    2. enter image description here

      我无法理解为什么会出现此问题以及我必须应用哪种解决方案。

      如果有人知道这些问题的解决方案,请帮助我..

1 个答案:

答案 0 :(得分:0)

您可以使用以下自定义代码

Dim numbers = New Integer() {0, 0, 0, 0} 

Public Function Seq(lev as Integer) As String

Select Case lev
Case 0
numbers(0) = numbers(0)+1
numbers(1) = 0
numbers(2) = 0
numbers(3) = 0
Return Cstr(numbers(0))

Case 1
numbers(1) = numbers(1)+1
numbers(2) = 0
numbers(3) = 0
Return Cstr(numbers(0)) & "." & Cstr(numbers(1))

Case 2
numbers(2) = numbers(2)+1
numbers(3) = 0
Return Cstr(numbers(0)) & "." & Cstr(numbers(1)) & "." & Cstr(numbers(2))

Case 3
numbers(3) = numbers(3)+1
Return Cstr(numbers(0)) & "." & Cstr(numbers(1)) & "." & Cstr(numbers(2)) &"." & Cstr(numbers(3))

End Select

End Function

group1的表达式为= Code.Seq(0),group2的表达式为= Code.Seq(1),... etc