在水晶报表中加入一个图象控件,source选择External,Value指向一个一般处理程序,呈现报表时ReportViewer提示:
报表“Report”包含外部图像。尚未为此报表设置 EnableExternalImages 属性。
看字面应该是起用外部图象,但我在*.rdlc,图象控件(Image),ReportViewer均未找到本属性

解决方案 »

  1.   

    是的,不是crystal reports
    用的是微软的 Data report design,就是用report.rdlc和reportviewer那个,
    不是照着水晶做的吗?我以为就是MS版的水晶呢,呵呵希望能够插入外部图象,报错问题已解决,需要在reportviewer页面代码修改属性,
    this.ReportViewer1.LocalReport.EnableExternalImages = true;(默认为false)来插入外部图象,这样Image.Value可以指向一个URL地址了,
    正在尝试指向一个页面处理程序生成本图片,祝成功...
      

  2.   

    经上述改动初步实现成功,Image.Value我输入的为以下代码
    http://localhost:1064/Websit/ReportImageOneHandler.ashx
       (网络服务地址/端口) /  (站点)  /  (一般处理程序)
    如下同
    http://192.168.1.1/Websit/ReportImageOneHandler.ashx你可能还需要跳过本地代理,以下引用自MSDN
    http://msdn.microsoft.com/zh-cn/vstudio/ms251715.aspx在报表中使用外部图像或数据库图像
    若要使用数据库图像,在 MIME 类型为 JPG、PNG 或 BMP 时,可以指定包含图像的数据库字段。如果图像是以二进制对象形式存储的,则必须编写一个表达式,将图像转换为支持的类型。默认情况下,不支持在 ReportViewer 报表中使用外部图像。若要使用外部图像,必须在代码中设置 EnableExternalImages 属性。根据您的网络配置,您可能还需要跳过代理设置,以允许显示外部图像。您可将下列设置添加到 Web.config 文件中,以跳过本地代理。在修改 Web.config 文件时,务必要指定网络中使用的代理服务器的名称:<system.net> <defaultProxy> <proxy usesystemdefault = "false" bypassonlocal = "true" proxyaddress = "http://< 代理服务器名称 >:80/" /> <defaultProxy> </system.net>
      

  3.   

    this.ReportViewer1.LocalReport.EnableExternalImages = true;(默认为false)