2014-10-01 52 views
0

我需要在C#ReportViewer中顯示圖像Image Report在Reportviewer中

Image Source被設置爲「External」。

訣竅是,圖像的SourcePath需要在運行時根據報表正文中的Tablix中的字段生成。

回答

0

我不知道您的數據源是用於報告的,但我在報告中使用了DataTables。

在那些圖像,我添加的

DataColumn column = new DataColumn("someImg"); 
column.DataType = System.Type.GetType("System.Byte[]"); 
column.AllowDBNull = true; 
MyDataTable.Columns.Add(column); 

數據列。然後,對於每一行,如行具有實際圖像的文件名稱,而不是在表中具有實際圖像列數據,我通過

foreach(DataRow dr in MyDataTable.Rows) 
    dr["someImg"] = System.IO.File.ReadAllBytes(dr["FullPathAndFileToActual.jpg"]); 

所以填充此列,因爲你知道在運行時路徑,只需調整迴路找到相似圖片我這裏,然後用該報告運行。

然後每行有一個有效的二進制圖形對象,可以在每行的基礎上呈現。

在報告中,確保圖像控件的「常規」部分具有適當的「MIMEType」設置,我的源設置爲「數據庫」,並將值設置爲= Fields!someImg.Value。