2009-07-18 3 views
2

ReportViewer에서 이미지 로고를 동적으로 추가하는 데 도움이 필요합니다. 나는 dB에서이 이미지를 얻을 Base64로로 변환 한 다음 나는 ...의 ReportViewer에 다음이 코드를 추가해야합니다ReportViewer 매개 변수에 이미지 로고를 동적으로 추가하려면 어떻게해야합니까?

rpViewer.LocalReport.EnableExternalImages = true; 

     Company _company = db.Companys.Where(c => c.codCompany == c.codCompany).Single(); 

     //first step 
     byte[] img = _company.imagem.ToArray(); // i get image from db 
     MemoryStream _ms = new MemoryStream(img); 

     string logo = Convert.ToBase64String(img); //convert to base64 

     // 2 step 
     List<ReportParameter> lstReportParams = new List<ReportParameter>();//Create params 
     lstReportParams.Add(new ReportParameter("Logo", logo)); 
     lstReportParams.Add(new ReportParameter("LogoMimeType", "image/png")); 

     // Doesn't work here (see error below) 
     this.rpViewer.LocalReport.SetParameters(lstReportParams); 

     this.rpViewer.RefreshReport(); 

오류 : Rldc에서

{"An error occurred during local report processing."}
{"An attempt was made to set a report parameter 'Logo' that is not defined in this report."}

:

왜 작동하지 않습니까?

왜 매개 변수를 인식하지 못합니까?

해당 이미지를 ReportViewer에서로드 할 수 있습니다.

답변

1

오류 메시지는 사용자가 보고서 매개 변수 로고를 정의하지 않았다고 말합니다. 이 보고서 매개 변수가 정의되어 있습니까?

는 또한 매개 변수 당신이 전송된다.

우리는 비슷한 문제를 가지고, 서로 다른 이미지를 표시하는 데 필요한 보고서의 크기 문제로 실행 할 수있다. 우리의 경우에는 약 10 개의 이미지 만있었습니다.

우리가 해결 한 방법은 모든 이미지를 보고서에 배치 한 다음 매개 변수에 따라 표시 여부를 설정하는 것이 었습니다.

+0

안녕하세요, 회사의 로고 인 DB에서 사진을 찍어보고에 표시해야합니다. RLDC의이 매개 변수는 ok입니까? MIMEType = 매개 변수! LogoMimeType.value 값 값 = "System.Convert.FromBase64String (매개 변수! Logo.Value)" 감사합니다. – user95542

2

보고서에서 매개 변수 목록을 인식하려면 RDLC 파일에 Logo 매개 변수가 만들어져 있어야합니다.

RDLC 파일을 편집하고 매개 변수를 만들어야합니다. Visual Studio에서 RDLC 파일을 연 다음 파일 메뉴에서 보고서를 클릭하고 보고서 매개 변수를 선택하여이 작업을 수행 할 수 있습니다.

관련 문제