보고서에 바인딩되는 데이터가있는 데이터 집합이 있다고 상상해보십시오.동적 이미지 및 데이터 바인딩
이제 다른 데이터 세트에 동적 또는 동적 매개 변수를 추가하고 싶습니다. 이러한 매개 변수 또는 데이터 집합에는 이미지가 포함됩니다. 이미지는 바이트 배열에 있습니다.
RDLC 보고서를 생성 할 때이를 표시 할 수 없습니다.
- 가 바이트 [] 배열을 확보, 코드, 외부 소스로부터의 (a URL)
- 가 이미지의 바이트 [] 배열로 변환을 :
이
내가 지금까지 한 일이다 - 가 ReportParameter RDLC에서 다음
으로이 추가 Base64String,이 매개 변수를 추가 한 다음 이미지 컨트롤을 추가했습니다. 나는 단지 렌더링 얻을 그러나
- = System.Convert.FromBase64String (매개 변수 TheImage.Value!)
: 그런 다음이 이미지 박스/제어, 값에 나는 다음으로 설정 "X"는 이미지를 찾지 못했지만 마치 이미지가없는 것처럼 보입니다. 내가 잘못 가고 어디
using (var rv = new ReportViewer())
{
rv.ProcessingMode = ProcessingMode.Local;
rv.Reset();
using (var sr = new System.IO.StreamReader(@"C:\MyReport.rdlc"))
{
rv.LocalReport.LoadReportDefinition(sr);
rv.LocalReport.EnableExternalImages = true;
var
reportParameters = new List<ReportParameters>();
reportParameters.Add(new ReportParameter("TheImage", Convert.ToBase64String(TheExternalImage.Image);
rv.LocalReport.SetParameters(reportParameters);
string mimeType;
string encoding;
string fileExtension;
string[] streamIds;
Warning[] warnings;
var streambytes = rv.LocalReport.Render(format.ToString(), null, out mimeType, out encoding, out fileExtension, out streamIds, out warnings);
rv.LocalReport.ReleaseSandboxAppDomain();
}
}
모든 아이디어 : 보고서를 렌더링하는
코드는 더 많거나 적은 다음 (만 붙여 수입 비트)이다?
감사합니다. 문제는 이미지가 데이터베이스에없는 것입니다. RDLC로 전달되는 외부 소스에서 온 것입니다. MIME 형식이 이미 올바르게 설정되었습니다. –
OK, 테스트 후 - 작동했습니다! 감사!! –