在报表中使用外部图像或数据库图像
默认情况下,不支持在 ReportViewer 报表中使用外部图像。若要使用外部图像,必须在代码中设置 EnableExternalImages 属性。若要查看如何指定外部图像的示例,请参见示例:在 ReportViewer 中使用 RSS 源。
若要使用数据库图像,在 MIME 类型为 JPG、PNG 或 BMP 时,可以指定包含图像的数据库字段。如果图像是以二进制对象形式存储的,则必须编写一个表达式,将图像转换为支持的类型。
字段[ImagePath]的处理过程是绑定前先用stream读取图片,然后再转换成byte[]数组,最后转换成Base64String,然后绑定
// Strem轉換字節數組
public static Byte[] StreamToBytes(Stream stream)
{
byte[] bytes = new byte[stream.Length];
if (stream.CanRead)
{
stream.Read(bytes, 0, (int)stream.Length);
}
stream.Close();
return bytes;
}
在表报rdlc中。在报表主体中拖放一个image控件。设置其Source为database,value=System.Convert.FromBase64String(Fields!barCode.Value)【byte[]数组时】,Base64String类型时直接绑定即可 // 关键之处。
然后设置MIMEType 属性。这样,你的图片就可以动态的显示到报表中了。