2012-11-22 44 views
7

我試圖添加外部照片作爲徽標以及report.rdlc文件的報告。我有這個錯誤尚未爲此報告設置啓用externalimages屬性?

The enable externalimages property has not been set for this report

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(); 
+0

您發佈的代碼會在沒有任何通知的情況下吞下任何例外,這可能是問題的一部分。 –

+0

可能的重複[外部圖像在.rdlc數據報告爲winforms](http://stackoverflow.com/questions/2070408/external-images-in-rdlc-data-reports-for-winforms) –

回答

0

如前所述here,圖像的路徑必須是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}); 
4

我有經驗,當你能夠使用外部的代碼圖像,它適用於本地/開發環境,但在服務器上部署時不起作用並報告引發錯誤:

爲了解決這個問題,在ASPX或設計文件中使用EnableExternalImages="true"財產,你正在使用ReportViewer控件,它會很好地工作「的啓用外部圖像屬性尚未對這份報告集」。

1

這裏的問題實際上是,您在設置this.reportViewer1.LocalReport.EnableExternalImages = true;之前撥打this.reportViewer1.RefreshReport();

這裏的順序很重要。