动态图像和数据绑定

Dynamic images and databinding

假设有一个包含绑定到报表的数据的数据集 - 工作得很好。

现在,我想动态添加到另一个数据集或动态参数。这些参数或数据集将包含图像。图片在字节数组中。

我无法让它们在生成时显示在 RDLC 报告中。

这是我目前所做的:

然后在RDLC里面,我加了这个参数,然后加了一个图片控件。 然后对于这张图片 box/control,我将其设置为以下值:

然而,我只是为图像渲染了一个 "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();
}
}

我哪里出错了?

为此,将您的图像字节数组转换为 base 64 字符串并将该字符串传递给参数(您已经在这样做)。然后将图像设置为将其源设置为数据库,并确保在图像字段上正确设置 MIME 类型,然后使用参数作为源。

很可能是将图像源设置为您丢失的数据库。