Reportviewer中的图像

时间:2014-10-01 13:19:29

标签: c# reportviewer

我需要在C#ReportViewer中显示图像

图像源设置为“外部”。

技巧是需要在运行时根据报告正文中Tablix中的字段生成Image的SourcePath。

1 个答案:

答案 0 :(得分: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。