2010-06-28 4 views
1

누군가 내가 다음 단계 중 어떤 것을 잘못하고 있는지 알려주는지 궁금합니다. SSRS에서 서브 보고서를 어떻게 렌더링합니까?

  1. 는 ('빈') 빈 새 보고서가
  2. 기본값은 기존 보고서 자체 데이터 소스와 하나 개의 매개 변수 (INT, 이름이 '가능성'을 가지고 ('SUB1')를, 가지고 값). 동일한 프로젝트와 같은 폴더에 있습니다.
  3. 새 보고서로 하위 보고서 컨트롤을 드래그
  4. 하위 보고서 컨트롤 속성에서 "이 보고서를 하위 보고서로 사용"으로 "Sub1"을 선택하십시오.
  5. 매개 변수 탭에서 추가를 클릭하십시오.
  6. 드롭 다운에서 이름을 선택하십시오 (비어 있음).
  7. '가능성'을 이름으로 입력하십시오.
  8. '1'을 값으로 입력하십시오.
  9. 보고서를 미리보고 '오류 : 하위 보고서를 표시 할 수 없습니다'라는 메시지가 표시됩니다. 미리보기 및 'rsErrorExecutingSubreport'하위 보고서 'SubReport1'(인스턴스 : 0) 실행 중 오류가 발생했습니다. 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. ' 'Subreport1이'보고서 'SUB1'을 렌더링하기 위해 시도하는 컨트롤의 이름입니다 출력 (에 내가 시도

것 :..

  1. 이 값으로 '= 1'을 입력
  2. 기본 보고서 '공백'에 동일한 유형 및 이름의 매개 변수 추가 하위 보고서 제어 등록 정보에서 매개 변수 탭을 비워두기 또한 '가능성'항목의 값을 빈 보고서의 매개 변수와 동일하게 설정해보십시오. '= Parameters! Likelihood.Value')
  3. 이름을 '@Likelihood'로 설정합니다 (requi에 대한 오류 링 이름은 CLR 호환).
  4. 데이터 원본 및 테이블 등을 하위 보고서에서 빈 부모 보고서로 복사하는 중입니다.

하위 보고서 제어 RDL : 나는 비슷한 문제로 많은 사람들이 발생했지만 아직 해결책을 못 찾았하고 올바른 방향으로 포인트를 부탁드립니다

<Subreport Name="Subreport1"> 
    <ReportName>Sub1</ReportName> 
    <Parameters> 
     <Parameter Name="Likelihood"> 
     <Value>10</Value> 
     </Parameter> 
    </Parameters> 
    <Top>2cm</Top> 
    <Left>2cm</Left> 
    <Height>7cm</Height> 
    <Width>7cm</Width> 
    <ZIndex>1</ZIndex> 
    <Style> 
     <Border> 
     <Style>None</Style> 
     </Border> 
    </Style> 
    </Subreport> 

.

답변

2

동일한 오류가 발생한 ActiveReports6 포럼을 보았습니다. 이 경우 사용자 (DeepSeaDave)는 "하위 보고서의 DataSourceChanged() 이벤트에 중단 점을 넣습니다. 주 보고서의 Run() 메서드를 호출 할 때 DataSourceChanged 이벤트가 두 번 발생했습니다. 두 번째로 [해고] ] 데이터 소스가 아무 것도 아닐 때 ... "

기존 보고서를 복사/이름을 바꾼 후에도 동일한 문제 (하위 보고서 및 관련된 데이터 소스도 포함)가 발생했습니다. 하위 보고서)를 새 템플릿의 템플릿으로 사용합니다.

솔루션 :

(저장하고 사이에 폐쇄) 내 부모 보고서의 데이터 소스 (프로젝트에서 공유 데이터 소스에 대한 보고서 특정 링크)를 삭제하고 다시 만들면 문제 갔다!

0

하위 보고서에서 공유 데이터 집합을 사용하고 다른 사람들이 그 문제를 겪었다는 것을 깨달았습니다. 내 하위 보고서에는 모든 항목이 삭제되었지만 오류없이 렌더링 할 데이터 집합 (예 : 모든 항목을 삭제 한 이후 예상대로 빈 페이지)을 삭제해야만 삭제할 수있었습니다. 이 점을 염두에두고 저는 몇 가지 설정으로 연주하고 아래의 "솔루션"을 제안했습니다. 나를 위해 "했다"고

하나 "솔루션"이었다

  1. 는 (이하 "다시 캐시"또는 무엇이든을 강제로), 비 - 공유, 미리보기를 저장하는 데이터 집합을 설정합니다.
  2. 상위 보고서에 동일한 비공유 데이터 집합을 추가합니다. 미리보기를 시도하십시오.
  3. 원래의 하위 보고서 변경 사항을 취소합니다. (원본 컨트롤을 원래대로 설정했습니다.)
  4. 하위 보고서를 미리 볼 수 있는지 확인하십시오.
  5. 상위 보고서에서 데이터 집합을 삭제하십시오.
  6. 마술처럼 작동합니다.

나는 이것이 다시 작동하기 시작한 원인을 알았 으면 좋겠다. 그리고 나는 다시 깨뜨릴 것이라고 기대하지만, 나는 이것이 내가했던 것과 이제 어쩌면 그것의 캐싱 된 보고서가 문제가 될지 알고있다.

이 방법은 해결책이 아니지만 다른 사람에게 도움이되는지 여부를 파악하면 문제를 격리하는 데 도움이 될 것입니다.

관련 문제