尚未为此报告设置enable externalimages属性?

时间:2012-11-22 11:23:46

标签: c# reporting rdlc

我正在尝试添加外部照片作为徽标以及report.rdlc文件上的报告。我有这个错误

  

尚未为此报告设置enable externalimages属性

enter image description here

这是我的代码。

 try
{
    this.pedidosTableAdapter.Connection.ConnectionString = con.MysqlConnect();

    this.pedidosTableAdapter.Fill(this.fabricacaoDataSet8.pedidos, Pages.relatorios.num);
    this.reportViewer1.RefreshReport();
}
catch { }

// for external image
this.reportViewer1.LocalReport.EnableExternalImages = true;
ReportParameter parm = new ReportParameter();
parm=(new ReportParameter("path", @"C:\logo.jpg",true));
this.reportViewer1.LocalReport.SetParameters(parm);
this.reportViewer1.Refresh();

6 个答案:

答案 0 :(得分:4)

我有使用Code启用外部映像的经验,它适用于本地/开发环境,但在服务器上部署时不起作用,报告引发错误:

“尚未为此报告设置启用外部图像属性”

要解决此问题,请在ASPX中使用EnableExternalImages="true"属性或使用ReportViewer Control的设计文件,它将完美运行。

答案 1 :(得分:1)

如上所述here,图片的路径必须采用网址格式,即@"file:///C:\logo.jpg"

或者你可以尝试

var filepath = new Uri("C:\logo.jpg");
var path = new ReportParameter("Path", filepath.AbsolutePath);
this.reportViewer1.LocalReport.SetParameters(new ReportParameter {Path = path});

答案 2 :(得分:1)

问题实际上是,您在设置db.session.commit()之前调用this.reportViewer1.RefreshReport();

这里的订单很重要。

答案 3 :(得分:0)

我希望该图像对Windows应用程序有所帮​​助。激活Reportviewer-> Properties-> LocalReport-> EnableExternalImage并将其设置为True enter image description here

答案 4 :(得分:0)

对于WinForm应用程序,下面的代码将很好地工作。

$xml.Save($path)

对于ASP.Net应用程序,请执行以下操作:

string templateImage = Application_Path + @"\Images\ReportLogo.jpg";
rvRptContainer.LocalReport.EnableExternalImages = true;
rvRptContainer.LocalReport.SetParameters(new ReportParameter("ReportLogo", "File:\\" + templateImage));

答案 5 :(得分:0)

对我没有任何帮助,但是简单地对我有用

        LocalReport localReport = new LocalReport();
        localReport.ReportPath = HostingEnvironment.MapPath("~/Reports/myreport.rdlc");
        localReport.EnableExternalImages = true;
        localReport.EnableHyperlinks = true;