2012-04-01 2 views
1

런타임에 (동적으로) 내 보고서 (헤더 내부)에 이미지를로드하고 싶습니다.ReportViewer WPF - 이미지를 동적으로 설정하십시오.

은 이미 다음과 같은 매개 변수를 작성했습니다

Name: Path 
Datatype: String (should be the path to the image) 
Allow Blank = True 

가 그럼 난 draged 한을 내 보고서에 이미지 컨트롤을 떨어 뜨린. 설정 이름 : 이미지 2 Imagesource : 외부 를 사용하여 다음과 같은 이미지 :

 viewerInstance.LocalReport.EnableExternalImages = true; 
     List<ReportParameter> param1 = new List<ReportParameter>(); 
     //header_2.png exists (for test purposes) in the root folder 
     param1.Add(new ReportParameter("Path", @"/header_2.png")); 
     viewerInstance.LocalReport.SetParameters(param1); 

그것은 '아무튼 : (다시 내 MainWindow를에서) 나는 다음과 같은 코드를 추가 한 이제 [@Path]

일하지 마라. 이 오류 메시지가 나타납니다.

지정한 바인딩 제약 조건과 일치하는 'ReportViewer.MainWindow'형식의 생성자를 호출하면 예외가 발생했습니다. { "보고서 정의의 출처가 지정되지 않았습니다."}

아이디어가 있으십니까?

답변

1

SSRS 2008의 절대 경로를 사용하여 외부 이미지를 사용하는 방법에 대해 잘 모르겠습니다.하지만 해결 방법을 제공 할 수 있다고 생각하지만 모든 이미지가있는 경우에만 사용할 수 있습니다. 미리 사용 가능한 보고서를 사용하십시오.

보고서에 이미지 컨트롤을 추가 할 수 있습니다. Image Control 속성에서 이름을 입력하고 이미지 소스를 Embedded로 선택한 다음 가져 오기를 클릭하고 이미지를 선택합니다. 가져 오기를 클릭하십시오. 이미지를 가져옵니다. 이제 이와 같은 모든 이미지를 가져올 수 있습니다. 완료되면 Image control 속성으로 다시 가서 Use this Image를 "[@Path]"로 설정하십시오. 이제 보고서 데이터의 이미지에서 볼 수있는 가져온 이미지 사이에 절대 경로는 전달하지 않고 이미지 이름 만 전달할 수 있습니다.

외부 이미지를 사용하려는 경우 this msdn article에 따라 절대 경로가 아닌 이미지의 URL을 제공해야합니다. 이 경우 이미지를 서버에 올려 놓고 Path 매개 변수에 경로를 전달할 수 있습니다. 이미지 원본을 외부로 선택하십시오. 나는 이것을 시험해 보았고 효과가있다.

편집 : 보고서 관리자를 통해 ReportServer에 이미지를 업로드하고 이미지 원본을 외부로 지정한 후에 해당 이미지의 경로를 RDL의 상대 경로로 제공 할 수도 있습니다. 예 : /Report/Logo.png. 여러 이미지를 업로드하고 경로를 매개 변수로 보고서에 제공하여 사용할 수도 있습니다.

관련 문제