我需要在C#ReportViewer中显示图像
图像源设置为“外部”。
技巧是需要在运行时根据报告正文中Tablix中的字段生成Image的SourcePath。
答案 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。