如何在RDLC报告上显示图像

时间:2009-02-20 18:34:06

标签: .net-3.5 reportviewer rdlc

我有一份RDLC报告,希望此报告的表格中的一列能够显示图像。我的报告的数据源是一个类,它有一个名为Image of System.Drawing.Image的属性。

在我的报告中,我将图像控件拖到了列上,然后设置了以下属性:

MIMEType:  image/png
Source:  Database
Value:  =Fields!Image.Value

当我运行报告时,我的图像会出现故障。

我真的很感激任何建议!

提前致谢:o)

2 个答案:

答案 0 :(得分:10)

我不知道这是否是最好的解决方案,但我得到了它的工作。看起来问题出在使用System.Drawing.Image。

在我的课堂上,我创建了一个名为ImageByte的新属性,类型为byte []。我没有为ImageByte制作一个setter,但我制作了一个实现以下功能的getter:

MemoryStream ms = new MemoryStream();
Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
return ms.ToArray();

我将我的报告更新为= Fields!ImageByte.Value for Value,现在一切看起来都按预期工作:o)

答案 1 :(得分:4)

首先,你在你的项目中加载一个新表格,你可以在下面这行:

reportViewer1.LocalReport.EnableExternalImages = true; 

之后在该页面上获取reportViewer并设置它的智能标记,选择设计新报告并从ToolBox对其进行图像控制,设置其属性

Source = External Value = file:\D:Images\Sunset.jpg 

注意:图像(Sunset.jpg)保存在D驱动器的Images文件夹中。你根据自己的要求改变了它。