은 몇 가지 조사 후 나는이 질문에 대답 할 수 있습니다. 알고리즘의 아이디어는 페이지 번호를 한 번 설정하고 배열에 저장 한 다음 페이지를 뒤집어서 처음부터 계산하지 않고 전체 페이지 배열에서 페이지 번호를 가져 오는 것입니다. 이 아이디어는 완벽하게 작동하고 여기에 몇 가지 코드는 어떻게 내 블로그에서 확인할 수 있습니다
Shared offset as Integer
Shared currentgroup as Object
Shared currentPage as Integer
Shared Dim pagesArray() As Integer
Public Function GetGroupPageNumber(group as Object, pagenumber as Integer, totalpages as Integer) as Object
If Not (group = currentgroup)
offset = pagenumber - 1
currentgroup = group
End If
If (pagesArray Is Nothing) Then
ReDim Preserve pagesArray(totalpages)
End If
If (CountNumberOfElementsInArray(pagesArray) < totalpages)
pagesArray(pagenumber - 1) = pagenumber - offset
End If
Return pagesArray(pagenumber - 1)
End Function
Public Function CountNumberOfElementsInArray(array() As Integer) as Integer
Dim counter as Integer
Dim i As Integer
counter = 0
For i = 0 To array.Length - 1
If (array(i) <> 0)
counter = counter + 1
End If
Next i
Return counter
End Function
상세 정보를이 솔루션을 설정하는
Reset page number in ms reporting services