报表ReportViewer绑定图片rdlc

在报表中使用外部图像或数据库图像

默认情况下,不支持在 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 属性。这样,你的图片就可以动态的显示到报表中了。 

原文地址:https://www.cnblogs.com/ywkpl/p/2008960.html