这份报告尚未设置启用外部图片属性?

9

我正在尝试将一张外部照片作为标志与report.rdlc文件上的报告一起添加。出现了以下错误:

此报告未设置启用 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();

您发布的代码没有任何通知就吞咽了所有异常,这可能是问题的一部分。 - Ryan Gates
可能是WinForms中.RDLC数据报告中的外部图像的重复问题。 - Johann Blais
6个回答

7

当您使用代码启用外部图像时,我有经验表明,在本地/开发环境中它可以工作,但是在服务器上部署时却无法正常工作并报告错误:

"未为此报表设置启用外部图像属性"

为了解决这个问题,在您使用ReportViewer控件的ASPX或设计文件中使用EnableExternalImages="true"属性,它将完美地工作。


6
这里的问题实际上是,在设置 this.reportViewer1.LocalReport.EnableExternalImages = true; 之前,你调用了 this.reportViewer1.RefreshReport();
顺序很重要。

2

我希望这张图片能帮助你在Windows应用程序中使用Reportviewer。激活你的Reportviewer->属性->LocalReport->EnableExternalImage并将其设置为True。enter image description here


1

此处所述,图像的路径必须采用URL格式,即@"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});

1

没有什么对我有用,但这个简单的方法起作用了

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

0

对于WinForm应用程序,以下代码将能够正常工作。

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

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

ReportViewer1.LocalReport.EnableExternalImages = true;

    string imagePath = new Uri(Server.MapPath("~/images/Mudassar.jpg")).AbsoluteUri;

    ReportParameter parameter = new ReportParameter("ImagePath", imagePath);

    ReportViewer1.LocalReport.SetParameters(parameter);

    ReportViewer1.LocalReport.Refresh();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接