9

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

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

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

当我运行我的报告时,我得到一个损坏的图像。

我真的很感激任何建议!

在此先感谢 :o)

4

2 回答 2

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 作为值,现在一切似乎都按预期工作:o)

于 2009-02-20T19:50:46.013 回答
4

首先,您在 Load 事件的项目中采用一个新表单,您在下面写下这一行:

reportViewer1.LocalReport.EnableExternalImages = true; 

之后在该页面上获取reportViewer并设置智能标记,选择设计新报表并从工具箱中获取图像控件,设置其属性

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

注意:图片(Sunset.jpg)保存在 D 盘的 Images 文件夹中。您根据您的要求更改了它。

于 2011-01-25T07:17:25.190 回答