动态图像和数据绑定
问题描述:
想象一下,如果数据集中包含与报告绑定的数据 - 工作得很好。动态图像和数据绑定
现在,我想添加到另一个数据集动态或动态参数。这些参数或数据集将包含图像。图像是在一个字节数组中。
生成时,我无法让它们显示在RDLC报告中。
这是我迄今所做:
- 获取byte []数组,在代码,从外部源(网址)
- 图像的字节[]数组转换为Base64String
- 添加为ReportParameter
然后在RDLC,我增加该参数,然后添加的图像控制。 然后为图像盒/控制,该值我将它设置为以下:
- = 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类型已正确设置。 –
好的,经过测试 - 它工作!谢谢!! –