2009-12-03 3 views
0

SSRS 2008의 보고서에는 네 가지 수준의 그룹화에서 집계 된 데이터가 표시됩니다. 내 webform에 대한 보고서를 보여주기 위해 ASP.NET ReportViewer 컨트롤을 사용하고 있습니다.SQL Server Reporting Services : 초기 렌더링 수준과 대화식 확장 결합

4 가지 레벨 모두를 자세하게 보여 주면 보고서는 매우 오래갑니다 (수백 페이지). 따라서 보고서를 렌더링 할 때 기본 수준을 (1-4) 표시로 설정하고 싶습니다. 보고서의 렌더링에 설정할 INT (@ShowLevel) 유형의 보고서 매개 변수를 사용하여이 작업을 수행합니다. 처음으로.

테이블 릭스의 행은 레벨이 @ShowLevel 값보다 큰 경우 숨김으로 설정됩니다. @ShowLevel = 2이면 레벨 3 및 레벨 4의 행은 "숨김"속성이 True로 설정되어 표시되지 않습니다.

현재까지는 훌륭하게 작동합니다.

BUT : 이제 클라이언트는 레벨 2로 보고서를 렌더링하려고하지만 레벨 2 노드를 대화식으로 확장하여 레벨 3 하위 노드를 표시하려고합니다.

어떻게 처리합니까? 레벨 3에 숨겨진 사실이기 때문에, 그런

Hidden = (@ShowLevel < 3) OR (group-parent is expanded) 

또는 뭔가를 확인하는 레벨 3 노드의 방법으로,이 ... 노드는 "확장"하지만 아무것도 그것을 아래에 표시되지 않습니다 초기 렌더링 수준 (보고서 매개 변수를 통해 설정)을 모두 지원하지만 초기 "표시 수준"을 지나서도 개별 노드의 대화 형 확장을 허용합니까?

내가 제대로하고 쉽게 ......

어떤 아이디어가이 작업을 수행하는 방법을 알아낼 수없는 이유는 무엇입니까? 힌트? 팁 & 트릭 ??

답변

2

Reporting Services에서 옵션으로 전환을 검토했습니다. 당신이 묘사하는 것 나는 많은 시간을 보냈습니다. 이것을 시도한 후 강조된 그룹 행을 강조 표시하면 해당 그룹 행의 특성을 점검하십시오. 속성 중 하나를 "가시성"이라고합니다. 해당 속성을 확장하십시오. 그러면 "ToggleItem"이 표시됩니다. toggleitem을 사용하면 다른 객체를 클릭하여 전체 그룹을 토글 할 수 있습니다. 예를 들어,이 그룹 위에 토글을 강제 적용하는 텍스트 상자를 만들 수 있습니다.

이렇게하면 원하는 데이터 만 표시되지만 클라이언트가 추가 수준을 전환 할 수 있습니다.

alt text http://img10.imageshack.us/img10/5015/123200984045am.jpg

PS : 여기

당신을위한 예입니다 당신이하여 ReportServer DB를 사용하여보고 서비스 보고서 파일에 다른 스레드에 어떤 행운이 있었나요?

+0

@JonH : 그렇습니다, 해결책입니다 - 그 동안 나 자신을 발견했습니다 :-) 행 그룹에 Hidden 속성을 설정하면 초기에 내가 숨기고 싶은 항목을 설정할 수 있지만 나중에는 계속 설정할 수 있습니다. 데이터 그룹을 확장하십시오. 이제는 매력처럼 작동합니다. –

+0

서버에서 공유 데이터 소스를 사용한다는 의미입니까? 예, 해결되었습니다. "데이터 소스 ID"(GUID)가 충분하다는 것을 명시하면서 인상을 받았습니다.하지만 데이터 소스에 대한 올바른 ** 경로 **를 지정해야합니다. 예 : "/ MyReport/DataSources/SharedDS"를 "DataSource"속성에 추가하십시오. 그러면 잘 작동합니다. –

+0

깨진 이미지 ... – candlejack

관련 문제