2013-04-30 2 views
0

MS보고 서비스의 모든 그룹에 대해 페이지 번호를 재설정해야합니다. 나는 MS Reporting Services 2008 R2에서 이러한 가능성에 대해 알고 있지만, 나는 그것을 높일 수있는 가능성이 없다.그룹의 페이지 번호 다시 설정

또한 알고 싶은 점은 MSDN post입니다. 그러나 여기에 문제가 있습니다. 페이지를 앞으로 전환하면 모두 좋아 보이지만 뒷 페이지 번호 매기기가 잘못되었을 때. 나는이 같은 페이지 번호가 있습니다

1, 0, -1

답변

0

은 몇 가지 조사 후 나는이 질문에 대답 할 수 있습니다. 알고리즘의 아이디어는 페이지 번호를 한 번 설정하고 배열에 저장 한 다음 페이지를 뒤집어서 처음부터 계산하지 않고 전체 페이지 배열에서 페이지 번호를 가져 오는 것입니다. 이 아이디어는 완벽하게 작동하고 여기에 몇 가지 코드는 어떻게 내 블로그에서 확인할 수 있습니다

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

관련 문제